方法名 | 作用 |
---|---|
BufferedReader(Reader in) | 创建使用默认大小的输入缓冲区的缓冲字符输入流。 |
BufferedReader(Reader in, int sz) | 创建使用指定大小的输入缓冲区的缓冲字符输入流。 |
import java.io.BufferedReader; import java.io.FileReader; public class BufferedReaderTest01 { public static void main(String[] args) throws Exception { FileReader reader = new FileReader("D://JAVATest/filewrite"); //当一个外部的流的构造方法需要一个流的时候,这个被传进来的流叫做;节点流 //外部负责包装的这个流,叫做:包装流或者叫做处理流 //像当前这个程序来说:FileReader就是一个节点流,BufferedReader就是包装流/处理流 BufferedReader br = new BufferedReader(reader); String s=null; while ((s= br.readLine())!=null){ System.out.println(s); } //可以使用readLine方法一次读取一行 /* 如果不写循环,因为定义的是 String fistLine= br.readLine(); System.out.println(fistLine); String SecondLine= br.readLine(); System.out.println(SecondLine); String ThirdLine= br.readLine(); System.out.println(ThirdLine); */ //关闭包装流 //对于包装流来说只需要关闭最外层的流,里面的节点流会自动关闭 br.close(); } }
输出:
我最爱学习了 学习了 没有对象不会new一个吗
InputStreamReader(InputStream in) | 创建一个使用默认字符集的InputStreamReader |
InputStreamReader(InputStream in, Charset cs) | 创建一个使用给定字符集的InputStreamReader。 |
InputStreamReader(InputStream in, CharsetDecoder dec) | 创建一个使用给定字符集解码器的InputStreamReader。 |
InputStreamReader(InputStream in, String charsetName) | 创建一个使用命名字符集的InputStreamReader。 |
import java.io.*; public class BufferedReaderTest02 { public static void main(String[] args) throws IOException { //字节流 FileInputStream in = new FileInputStream("D:\\JAVATest\\bufferedReader"); //通过转换流(InputStreamReader)转换为字符流 //in是节点流,reader是包装流 InputStreamReader reader = new InputStreamReader(in); //reader是节点流,br是包装流/处理流 BufferedReader br = new BufferedReader(reader); /* 上述也可以合并来写 BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream("D:\\JAVATest\\bufferedReader"))) */ String s=null; while ((s=br.readLine())!=null){ System.out.println(s); } //关闭最外层 br.close(); } }
输出:
lingstar 我最爱java了 这是带有缓冲区的字符输出流
方法名 | 作用 |
---|---|
BufferedWriter(Writer out) | 创建使用默认大小的输出缓冲区的缓冲字符输出流 |
BufferedWriter(Writer out, int sz) | 创建一个新的缓冲字符输出流,使用给定大小的输出缓冲区。 |
import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; public class BufferWriterTest02 { public static void main(String[] args) throws IOException { //创建一个字符输出流,没有文件会自动创建 //再次运行会清空重新写入,如果不想清空就在后面路径后加,true BufferedWriter out = new BufferedWriter(new FileWriter("D:/JAVATest/bufferedtest")); //写入 out.write("我最爱java了"); out.write("\n"); out.write("lingstar"); //刷新 out.flush(); //关闭最外层 out.close(); } }
输出: