1. 創建文件
使用了File類中的createrNewFile方法。
public static boolean createFile(String filename){try{File file = new File(filename);file.createNewFile();return true;} catch (IOException e) {e.printStackTrace();return false;}}
查閱文檔可知,若文件不存在,就創建新的文件,返回true,若文件已經存在,返回false。
不過此處我們只關注有這個文件就行,別的不管,因此忽略返回值。
核心:對于io方面的類File,以及Java中的各種功能類,我們需要理解的是它如何工作,如何使用,其他的可以不必深究,我們可以先當成黑盒子用,不過,等你使用熟練了,還是得深入理解原理,這樣才能成長。
2. 寫入二維數組到文件
讀寫文件的關鍵點
- 打開文件
- 讀/寫
- 關閉文件!
就像你在Windows上經常操作的那樣,打開,寫入,保存,關閉。
用程序執行,其實是一樣的,只不過Windows可視化了而已,本質一樣的!
public static boolean writeToFile(String filename, int[][] Array){try {FileWriter fileWriter = new FileWriter(filename);for(int arr[]:Array){for(int value:arr){fileWriter.write(value + "\t");}fileWriter.write("\n");}fileWriter.close();return true;} catch (IOException e) {e.printStackTrace();return false;}}
更多細節查閱官方文檔即可。
3. 讀取文件并轉換為二維數組
這里使用的是Scanner的讀取功能,完成文件的讀取,并將其存到二維數組中。
public static int[][] readFile(String filename) {int[][] arr = new int[4][3];try {File file = new File(filename);Scanner scanner = new Scanner(file);while (scanner.hasNextLine()) {for (int i = 0; i < arr.length; i++) {String[] line = scanner.nextLine().split("\t");for (int j = 0; j < line.length; j++) {arr[i][j] = Integer.parseInt(line[j]);}}}scanner.close();} catch (FileNotFoundException e) {e.printStackTrace();}return arr;}
此處,需要注意,這里是行列已知,如果未知,需要使用動態二維數組來完成讀取。
此外,它讀取的是字節,如果想要快一點,或許你可以試試加個Buffer!