赞
踩
java以流的形式操纵IO,又将流分为两种:字节流与字符流,对JavaIO流操作不清楚的可以参考
那字节流与字符流之间又有什么区别呢
字节流用于操作文件数据,网络传输等场景,而字符流适用于与字符串,中文有关的内容处理,因为Writer/Reader两个抽象类对字符的支持比较好。
除了这些,字符输出流写数据时是先将数据写入缓冲区,待字符输出流关闭后再写入到文件中,而字节输出流是直接写入到文件中,通过下面的例子,我们可以清楚的看到这一点。
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.Reader;
import java.io.Writer;
/**
* 测试路径:E:\IO\demo.txt
*/
public class Test {
public static void main(String[] args) throws Exception {
// 测试:字符输出与字节输出区别
File file = new File("E:\\IO\\demo.txt");
// 父目录不存在,创建
if(!file.getParentFile().exists()) {
file.getParentFile().mkdirs();
}
String msg = "爱生活爱Java";
Writer out = new FileWriter(file);
out.write(msg);
// 不关闭字符输出流
// out.close()
// 强制清空缓冲区
// out.flush();
}
}
运行程序前,测试文件夹:
没有关闭字符输出流:
使用强制清空缓冲区之后:
以上就是字符字节流之间最大的区别,由于学识所限,以后还会继续更新。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。