文本與集合的讀取寫入方式總結
阿新 • • 發佈:2017-07-06
void space -1 方式 static div throws col arraylist
//1.從文本中讀取並添加到集合,按行讀取
1 public static void main(String[] args) throws IOException { 2 BufferedReader br = new BufferedReader(new FileReader("g.txt")); 3 ArrayList<String> arr = new ArrayList<>(); 4 5 String line; 6 while ((line = br.readLine()) != null) { // 按行讀取文本文件 7 arr.add(line); // 添加至集合 8 } 9 10 for (int i = 0; i < arr.size(); i++) { 11 System.out.println(arr.get(i)); 12 } 13 } 14
//2.把集合中的數據寫入到文本,每個數據一行
1 public static void main(String[] args) throws IOException { 2 ArrayList<String> arrStr = newArrayList<>(); 3 4 arrStr.add("abc"); 5 arrStr.add("cde"); 6 arrStr.add("efg"); 7 arrStr.add("ghi"); 8 9 BufferedWriter bw = new BufferedWriter(new FileWriter("g.txt")); 10 11 for (int i = 0; i < arrStr.size(); i++) { 12 bw.write(arrStr.get(i)); 13bw.newLine(); //每個數據一行 14 15 }// for 16 bw.close(); 17 } 18
//3.復制文本文件
// 法一:復制文本文件,使用緩沖字符流,一次讀一個字符
1 BufferedReader br = new BufferedReader(new FileReader("c.txt")); 2 BufferedWriter bw = new BufferedWriter(new FileWriter("d.txt")); 3 4 int c; 5 while ((c = br.read()) != -1) { 6 bw.write(c); 7 //bw.flush(); 8 } 9 10 bw.close(); 11 br.close();
// 法二:復制文本文件,一次讀一個數組
1 BufferedReader br = new BufferedReader(new FileReader("d.txt")); 2 BufferedWriter bw = new BufferedWriter(new FileWriter("e.txt")); 3 4 char[] ch = new char[1024]; 5 int len = ch.length; 6 while ((len = br.read(ch)) != -1) { 7 bw.write(ch, 0, len); 8 } 9 10 bw.close(); 11 br.close();
// 法三:復制文本文件,按行讀取,只能用Buffered
1 BufferedReader br = new BufferedReader(new FileReader("e.txt")); 2 BufferedWriter bw = new BufferedWriter(new FileWriter("f.txt")); 3 4 String line; 5 while ((line = br.readLine()) != null) { 6 bw.write(line); 7 bw.newLine(); 8 } 9 10 bw.close(); 11 br.close(); 12
//法四:復制文本文件,一次寫一個字符數組
1 public static void main(String[] args) throws IOException { 2 // 創建輸入字符流 3 FileReader fr = new FileReader("b.txt"); 4 // 創建輸出字符流 5 FileWriter fw = new FileWriter("c.txt"); 6 7 // 字符數組的方式寫入 8 char[] ch = new char[1024]; 9 int len = ch.length; 10 while ((len = fr.read(ch)) != -1) { 11 fw.write(ch, 0, len); 12 fw.flush(); 13 } 14 15 fw.close(); 16 fr.close(); 17 } 18
//法五:復制文本文件,一次寫一個字符
1 public static void main(String[] args) throws IOException { 2 // 創建字符流對象 3 FileReader fr = new FileReader("a.txt"); 4 5 FileWriter fw = new FileWriter("b.txt"); 6 7 int c; 8 while ((c = fr.read()) != -1) { 9 10 fw.write(c); 11 } 12 13 fw.close(); 14 fr.close(); 15 } 16
文本與集合的讀取寫入方式總結