(轉)Java按指定行數讀取文件
阿新 • • 發佈:2017-09-12
readline system exceptio ted lines highlight select true cnblogs
package test import java.io.File; import java.io.FileReader; import java.io.IOException; import java.io.LineNumberReader; public class ReadSelectedLine{ // 讀取文件指定行。 static void readAppointedLineNumber(File sourceFile, int lineNumber) throws IOException { FileReader in = new FileReader(sourceFile); LineNumberReader reader = new LineNumberReader(in); String s = ""; if (lineNumber <= 0 || lineNumber > getTotalLines(sourceFile)) { System.out.println("不在文件的行數範圍(1至總行數)之內。"); System.exit(0); } int lines = 0; while (s != null) { lines++; s = reader.readLine(); if((lines - lineNumber) == 0) { System.out.println(s); System.exit(0); } } reader.close(); in.close(); } // 文件內容的總行數。 static int getTotalLines(File file) throws IOException { FileReader in = new FileReader(file); LineNumberReader reader = new LineNumberReader(in); String s = reader.readLine(); int lines = 0; while (s != null) { lines++; s = reader.readLine(); } reader.close(); in.close(); return lines; } /** * 讀取文件指定行。 */ public static void main(String[] args) throws IOException { // 指定讀取的行號 int lineNumber = 2; // 讀取文件 File sourceFile = new File("D:/java/test.txt"); // 讀取指定的行 readAppointedLineNumber(sourceFile, lineNumber); // 獲取文件的內容的總行數 System.out.println(getTotalLines(sourceFile)); } }
(轉)Java按指定行數讀取文件