目标:实现字节流的读入数据,重复的读取,非每次读取都要手动
发现:每次只转输一个字节的数据效率相对较低,每次传输一卡车的字节数据,车——>字节数住
如果一个小卡车也拉不下,重复的读取数据——— >循环
- 建立联系
- 选择流(InputStream is= new FileInputStream(“路径”))
- 读入 byte[ ]car=new byte[ 3];
- 操作数据 打印到控制台中
int len=-1;
while ((len=is.read(car))!=-1){System.out.println(new String(car,o,len))
} - 关闭
字节输出流 OutputStream 此抽象类是表示输出字节流的所有类的超类。
FileOutputStream 文件字节输出流
write()…+ 刷出flush()+ close()
默认会覆盖目的地源文件中的内容,如果想要追加
文件拷贝
- 选择流
文件字节输入流
文件字节输出流 - 读入 写出
- 刷出
- 关闭(后打开的先关闭)
字符流:操作纯文本的内容。。。
字符输入流 Reader 用于读取字符流的抽象类(FileReader read()…+ close())
字符输出流Writer
FileWriter write…+ append()+flush()+ close()
功能流(节点流)
缓冲流:提供节点流的功能
| 性能(加快读写效率)
如果用到节点流,就可以选择性是的使用缓冲流包裹
BufferedInputStream (字节入)BufferedOutputStream(字节出)
没有新增方法,可以多态调用
BufferedReader (字符入)
BufferedWriter (字符出)
String readLine() 读取一个文本行。
void newLine() 写入一个行分隔符。
不能使用多态调用