java 讀取 txt文件 特定行

public class ReadSelectedLine { 
         
        static void readLineVarFile(String fileName, int lineNumber) throws IOException { 
                BufferedReader reader = new BufferedReader(new InputStreamReader( 
                                new FileInputStream(fileName))); 
                String line = reader.readLine(); 
                if (lineNumber < 0 || lineNumber > getTotalLines(fileName)) { 
                        System.out.println("不在文件的行數範圍之內。"); 
                } 
                int num = 0; 
                while (line != null) { 
                        if (lineNumber == ++num) { 
                                System.out.println("line     " + lineNumber + ":     " + line); 
                        } 
                        line = reader.readLine(); 
                } 
                reader.close(); 
        } 
         
        // 文件內容的總行數。    
        static int getTotalLines(String fileName) throws IOException { 
                BufferedReader in = new BufferedReader(new InputStreamReader( 
                                new FileInputStream(fileName))); 
                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 { 
                 
                // 讀取文件    
                String fileName = "d:/hst_23.txt"; 
                 
                // 獲取文件的內容的總行數    
                int totalNo = getTotalLines(fileName); 
                System.out.println("There are "+totalNo+ " lines in the text!"); 
                 
                // 指定讀取的行號    
                int lineNumber = 10; 
                 
                //讀取指定行的內容 
                readLineVarFile("d:/hst_23.txt", lineNumber);         
        } 
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章