BufferedWriter和BufferedReader
BufferedWriter:将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
可以指定缓冲区的大小,或者接受默认的大小。在大多数情况下,默认值就足够大了。
BufferedReader:从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
构造方法
BufferedWriter(Writer out)
BufferedReader(Reader in)
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class LAST { public static void main(String[] args) throws IOException { //创建输出缓冲流对象 BufferedWriter bw=new BufferedWriter(new FileWriter("bw.txt")); bw.write("hello"); bw.close(); //创建输入缓冲流对象 BufferedReader br=new BufferedReader(new FileReader("bw.txt")); //一次读取一个字符 int ch; // while((ch=br.read())!=-1) { // System.out.print((char)ch); // } //br.close(); //一次读取一个字符数组 char[] chs=new char[1024]; int len; while((len=br.read(chs))!=-1) { System.out.println(new String(chs,0,len)); } br.close(); } }
缓冲流的特殊功能
BufferedWriter
void newLine() 写一个换行符,这个换行符由系统决定
BufferedReader
//String readLine() 一次读取一行数据 但是不读取换行符 import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class LAST { public static void main(String[] args) throws IOException { BufferedReader br=new BufferedReader(new FileReader("bw.txt")); String line; while((line=br.readLine())!=null) { System.out.println(line); } br.close(); } }
把集合中的数据写到文件里面
import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; public class LAST { public static void main(String[] args) throws IOException { ArrayList<String> arr=new ArrayList<String>(); arr.add("java"); arr.add("android"); arr.add("ios"); BufferedWriter bw=new BufferedWriter(new FileWriter("arr.txt")); for(int x=0;x<arr.size();x++) { String s=arr.get(x); bw.write(s); bw.newLine(); bw.flush(); } bw.close(); } }
把文本文件中的数据读取到集合
import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; public class LAST { public static void main(String[] args) throws IOException { BufferedReader br=new BufferedReader(new FileReader("arr.txt")); ArrayList<String> arr=new ArrayList<String>(); String line; while((line=br.readLine())!=null) { arr.add(line); } br.close(); for(int x=0;x<arr.size();x++) { String s=arr.get(x); System.out.println(s); } } }
来源:https://www.cnblogs.com/hzdwwzz/p/10345463.html