用Java 高效計算文件中的行數
問題:
問題:使用大型檔案時資料檔案中,通常需要確定檔案中的行數。雖然可以逐行讀取文件直到到達末尾,但這種方法可能非常耗時且效率低下。
解決方案:public static int countLines(String filename) throws IOException { InputStream is = new BufferedInputStream(new FileInputStream(filename)); try { byte[] c = new byte[1024]; int readChars = is.read(c); if (readChars == -1) { // bail out if nothing to read return 0; } // make it easy for the optimizer to tune this loop int count = 0; while (readChars == 1024) { for (int i = 0; i < 1024;) { if (c[i++] == '\n') { ++count; } } readChars = is.read(c); } // count remaining characters while (readChars != -1) { for (int i = 0; i < readChars; ++i) { if (c[i] == '\n') { ++count; } } readChars = is.read(c); } return count == 0 ? 1 : count; } finally { is.close(); } }更有效率的方法在Java 中計算檔案行數的方法是使用以下程式碼:此程式碼比簡單的方法要快得多逐行讀取文件,特別是對於大文件。使用緩衝輸入流和最佳化循環可以有效地處理文件資料並最大限度地減少不必要的讀取操作。
以上是如何有效率地計算大型 Java 檔案的行數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!