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:

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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。