数据源有三种:文件,内存和键盘
数据汇有三种:文件,内存和控制台
我想问问JAVA I/O系统中对应以上数据源和数据汇,应该分别用哪些输入流和输出流
比如字节输入流是不是不能通过键盘来读取数据,而只能读取字节数组或文件中的已有数据
字节输出流能不能输出到控制台呢
Reader/Writer是不是就是针对键盘和控制台呢
I/O中类太多了,有点晕
数据汇有三种:文件,内存和控制台
我想问问JAVA I/O系统中对应以上数据源和数据汇,应该分别用哪些输入流和输出流
比如字节输入流是不是不能通过键盘来读取数据,而只能读取字节数组或文件中的已有数据
字节输出流能不能输出到控制台呢
Reader/Writer是不是就是针对键盘和控制台呢
I/O中类太多了,有点晕
这篇文章肯定对你有帮助的:http://topic.csdn.net/u/20080619/10/30ead5c6-8410-46c4-b9a1-f14522983eac.html
再往上是字符流.
像读取txt文本一样简单吗
了解区分字节流(一般后面是strean)和字符流(一般后面是er)。
字节输出流OutputStream,比如往输出流中写数据时,可以不用flush()
但是字符输出流Writer的子类,比如OutputStreamWriter,往输出流中写数据时,必须要用flush()
是不是Writer都需要刷新缓冲区
FileOutputStream out=new FileOutputStream("e:\\test.txt");
OutputStreamWriter writer=new OutputStreamWriter(out);
writer.write("hello");
会发现运行时,文件test.txt里啥也没有
但是在最后加上bw.flush()后,就能写入了
这是为啥呢?
FileOutputStream out=new FileOutputStream("e:\\test.txt");
out.write("hello");
就能直接写入,不用flush()
主要看那个类是否覆盖了flush(),如果覆盖了,则需要
否则,不需要
嘿嘿
等待下一个IO问题