在Java編程中,常常需要對文件進行讀取操作。讀取文件時可以使用行讀取和塊讀取的方式。下面就具體介紹一下這兩種方法的區別和應用場景。
行讀取:使用BufferedReader對象和readLine()方法來一次讀取一行內容。具體代碼如下:
try { BufferedReader br = new BufferedReader(new FileReader("example.txt")); String line; while ((line = br.readLine()) != null) { System.out.println(line); } br.close(); } catch (IOException e) { e.printStackTrace(); }
代碼說明:
- 創建一個BufferedReader對象,指向需要讀取的文件(example.txt)。
- 使用while循環和readLine()方法,依次讀取文件中的每一行,并將其輸出到控制臺。
- 用完BufferedReader對象后,需要調用close()方法進行關閉。
塊讀取:使用BufferedInputStream對象和read()方法來讀取指定長度的數據塊。具體代碼如下:
try { BufferedInputStream bis = new BufferedInputStream(new FileInputStream("example.txt")); byte[] buffer = new byte[1024]; int len; while ((len = bis.read(buffer)) != -1) { System.out.write(buffer, 0, len); } bis.close(); } catch (IOException e) { e.printStackTrace(); }
代碼說明:
- 創建一個BufferedInputStream對象,指向需要讀取的文件。
- 定義一個字節數組作為緩存區,指定緩存區的長度為1024字節。
- 使用while循環和read()方法,每次讀取1024字節的數據塊,并將其輸出到控制臺。
- 用完BufferedInputStream對象后,需要調用close()方法進行關閉。
總結:行讀取適用于讀取文件的文本內容,并且文件較小的情況下比較方便。塊讀取適用于讀取文件的二進制內容,并且文件較大的情況下更加高效。