首页 > 代码库 > java中在使用字节流和字符流不关闭流引起的情况分析?

java中在使用字节流和字符流不关闭流引起的情况分析?

package com.hephec;

import java.io.File;

import java.io.FileOutputStream;

import java.io.OutputStream;


public class OutputStreamTest{

public static void main(String[] args) throws Exception{

OutputStream out=new FileOutputStream(new File("E:"+File.separator+"test.txt"));

String str="zhangsan";

byte[] b=str.getBytes();//将字符串转化为字节数组

out.write(b);

//out.close();//未关闭流

}

}

//result:zhangsan

//虽然没有关闭字节流,但是文件中依然有内容输出,证明字节流是直接操作文件本身的

package com.hephec;

import java.io.File;

import java.io.FileWriter;

import java.io.Writer;


public class OutputStreamTest{

public static void main(String[] args) throws Exception{

Writer writer=new FileWriter(new File("E:"+File.separator+"test.txt"));

String str="zhangsan";

byte[] b=str.getBytes();//将字符串转化为字节数组

writer.write(b);

//writer.close();//未关闭流

}

}

//result:

//程序运行时,发现没有任何内容,这是因为字符流操作使用了缓冲区,而在关闭字符流时会强制将缓冲区的内容进行输出,但是程序没有关闭,则缓冲区的内容是无法输出的

java中在使用字节流和字符流不关闭流引起的情况分析?