字节流输入输出数据:
InputStream和OutputStream作为字节流输入输出流的超类。
字节流写数据时千万记得close关闭资源,可设置追加写为true
字节流读数据时,FileInputStream a = new FileInputStream (“”); int by = a.read(); char b = (char) a;
一次读取一个字节,读到文件末尾时,a.read()==-1
每次读取一个字节数组数据:
字符流:reader、writer。
注意flush和close的区别:
改进版:FileReader和FileWriter,但是涉及到编码问题,只能用FlieInputStream/FileOutputStream,字符流只能复制文本数据。还有字符缓冲流:BufferedReader/BufferedWriter,是为了更快速地进行读写,使用字符缓冲流复制Java文件的方法:
读取字符的时候,通常采用缓冲流。
复制多级文件夹的时候,需要采用递归的方法,代码如下:
JDK7和JDK9复制文件的代码改进,处理异常:
标准输入输出流:
System.out的本质是字节输出流。