java_IO总结(1)
第一次写技术博客,今天看了一些IO的视频,及时做些总结,归纳。
(1)如何选取合适的流对象,四个明确。
1确源和目的。
2数据是否是纯文本数据。是纯文本,就选择 Reader/Writer,不是,就选择InputStream/OutputStream
3明确具体的设备。硬盘(File), 键盘(System.in) 内存()数组, 网络(Socket流)
4是否需要其他额外功能。比如转换(InputStreamReader,OutPutStreamWriter)
高效(BufferedInputstream,BufferedOutputStream,BufferedReader,BufferedWriter)
(2)操作键盘显示器,写熟.
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(Syetem.out));
(3)关于编码
如果操作文本文件需要明确具体的编码,FileWriter不行,要用转换流。
FileWriter:其实就是转换流指定了本机默认码表的体现。而且这个转换流的子类对象,可以方便操作文本文件。
简单说:操作文件的字节流+本机默认的编码表。
这是按照默认码表来操作文件的便捷类。
转换流编码,例:
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("u8_1.txt"),"UTF-8");
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("gbk_3.txt"),"GBK");