大致列一下这个周末需要学习的内容
1 容器
2 线程
3 流 (本节内容)
一、 流
按方向-------------输入流输出流
按处理数据单位-----字节流字符流
按功能------------节点流和处理流
字节流 | 字符流 | |
输入流 | BufferedInputStream(InputStream) | BufferedReader(Reader) |
输出流 | BufferedOutputStream(OutputStream) | BufferedWriter(Writer) |
例1 在节点流外面包裹一次处理流,实现复制文件(字节流)
package test; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class test { public static void main(String[] args) throws IOException { BufferedInputStream bis = new BufferedInputStream (new FileInputStream("C:\\Users\\Administrator\\Desktop\\s3.txt")); BufferedOutputStream bos =new BufferedOutputStream (new FileOutputStream("C:\\Users\\Administrator\\Desktop\\s4.txt")); byte[] buf = new byte[1024];//定义数组容器暂时性的存放读取的数据 while (true){ if(-1==bis.read(buf))//读取数据放入buf容器中,并判断是否已经读完 break; bos.write(buf); //把读入buf的数据写入bos管道对应的文件中 } bos.flush(); bos.close(); bis.close(); } }
例2 在节点流外面包裹一次处理流,实现复制文件(字符流)
字符流提供readLine()方法
package test; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class test { public static void main(String[] args) throws IOException { BufferedReader bis = new BufferedReader (new FileReader("C:\\Users\\Administrator\\Desktop\\s2.txt")); BufferedWriter bos =new BufferedWriter (new FileWriter("C:\\Users\\Administrator\\Desktop\\s4.txt")); char[] buf = new char[1024];//定义数组容器暂时性的存放读取的数据 while (true){ if(-1==bis.read(buf))//读取数据放入buf容器中,并判断是否已经读完 break; bos.write(buf); //把读入buf的数据写入bos管道对应的文件中 } bos.flush(); bos.close(); bis.close(); } }