BufferedReader/BufferedWriter
作用:调用read()读写一行文本。
BufferedReader
BufferedReader继承于Reader,提供了
read():读取一个字符
read(char[] cbuf): 读取多个字符。
readLine():读取一行文本。
BufferedReader 初始化时需要一个reader,本质上BufferedReader在reader的基础上增加readLine()的功能。
BufferedWriter
BufferedWriter继承于Writer,提供了
write:写入一个字符。
write(char [] cbuf):写入多个字符。
write(String):写入字符串。
newLine():写入一个行分隔符
读取一首诗:
1 public static void main(String[] args) throws IOException { 2 File file=new File("d:\\sxt2019\\a.txt"); 3 4 FileReader fileReader=new FileReader(file); 5 BufferedReader bufferedReader=new BufferedReader(fileReader); 6 7 /*String ge=bufferedReader.readLine(); 8 ge=bufferedReader.readLine(); 9 ge=bufferedReader.readLine(); 10 ge=bufferedReader.readLine();*/ 11 12 String ge; 13 while((ge=bufferedReader.readLine()) != null){ 14 System.out.println(ge); 15 } 16 17 18 fileReader.close(); 19 bufferedReader.close(); 20 21 }
以GBK编码写一首歌进文件:
1 public static void main(String[] args) throws IOException { 2 File file=new File("d:\\sxt2019\\c.txt"); 3 4 FileWriter writer=new FileWriter(file); 5 BufferedWriter bufferedWriter=new BufferedWriter(writer); 6 7 bufferedWriter.write("如果这都不算爱,"); 8 bufferedWriter.newLine(); 9 bufferedWriter.write("还有什么好悲哀。"); 10 bufferedWriter.newLine(); 11 bufferedWriter.write("谢谢你的关怀。"); 12 bufferedWriter.newLine(); 13 bufferedWriter.write("我不会再期待。"); 14 bufferedWriter.newLine(); 15 16 17 bufferedWriter.flush(); 18 bufferedWriter.close(); 19 }
以UTF-8编码写入文件:
1 public static void main(String[] args) throws IOException { 2 File file=new File("d:\\sxt2019\\e.txt"); 3 4 FileOutputStream fileOutputStream=new FileOutputStream(file); 5 6 OutputStreamWriter outputStreamWriter=new OutputStreamWriter(fileOutputStream, "UTF-8"); 7 8 BufferedWriter bufferedWriter=new BufferedWriter(outputStreamWriter); 9 10 bufferedWriter.write("如果这都不算爱,"); 11 bufferedWriter.newLine(); 12 bufferedWriter.write("还有什么好悲哀。"); 13 bufferedWriter.newLine(); 14 bufferedWriter.write("谢谢你的关怀。"); 15 bufferedWriter.newLine(); 16 bufferedWriter.write("我不会再期待。"); 17 bufferedWriter.newLine(); 18 19 bufferedWriter.flush(); 20 bufferedWriter.close(); 21 fileOutputStream.close(); 22 outputStreamWriter.close(); 23 System.out.println("写入成功!"); 24 }