java語言讀取文本文件的指定行

import java.io.*;  java

  

public class hh {  .net

  

    /** get

     * @param args it

     */  io

    public static void main(String[] args) {  class

        // 指定讀取的行號  test

        int lineNumber = 2;  import

          // 讀取文件  file

          //File sourceFile = new File("D:/java/test.txt");  im

        File sourceFile = new File("C://TEXT.txt");  

         

        try {  

             // 讀取指定的行  

            readAppointedLineNumber(sourceFile, lineNumber);  

            // 獲取文件的內容的總行數  

            System.out.println(getTotalLines(sourceFile));  

        } catch (IOException e) {  

            // TODO Auto-generated catch block  

            e.printStackTrace();  

        }  

          

    }  

  

          

    // 讀取文件指定行。  

    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();  

            if(lines>=2){  

                if(s!=null){  

                    System.out.println(s+"$");  

                }  

            }  

        }  

        reader.close();  

        in.close();  

        return lines;  

    }  

}  

相關文章
相關標籤/搜索