IO流的基础知识:
计算机是二进制运行的,所有的操作都是以流的方式进行的,
io流分为字节流和字符流,字符流是由字节流组成的,最小的单位是字节(b)。
字节流的传输速度要比字符流的传输速度快,那为什么还有字符流呢?
那是因为字节流在传输文档的时候可能会出现错误,我们可以这样简单理解:一个汉字是两个字节,如果在汉字中间夹着单个字节的元素,在读取时就会读取一个字节,这时就会读取失败。
当然,每次读取的字节数可以不一样,如果设置的字节数远远大于文本数的话,固然不会报错,但是也会造成浪费。
在IO流的初期学习中,难点在于两个,一是字节和字符的类的区分,另一个是输入与输出的记忆。在此我分享一下我的记忆方式:
比如这几个常用的流:
字节流 :
InputStream (输出/读)OutputStream(输入/写)
FileInputStream 将地址包装成流对象 (file是路径)
InputStream is = new FileIntputStream(file);
FileOutpustream
OutputStream os = new FileOutputStream(file);
字符流:
Reader(输出/读) Writer(输入/写)
FileReader
Reader reader = new FileReader(“路径”);
FileWriter
Reader Writer = new FileWriter(“路径”);
在记忆的时候,可以对应的记忆,input…对应的是read
output…对应的是writer 同时Input和output是字节流输入和输出,也可以记忆字符流的输入和输出,reader和writer这两个英语单词比较简单常见,记忆会更加简单。