2

テキストファイルの行数をカウントしてからファイルを読み取りたい特定の方法があります read.nextLine() を反復処理してからバッファをリセットすることにより、ファイルの行数をカウントしていますファイルの先頭から再度読み取ります。何が間違っているのかわかりません

public void ReadFile() throws IOException{
 try{
    FileReader fr = new FileReader(path);
    BufferedReader read = new BufferedReader(fr);
    int numberOfLines=0;
    while(read.readLine()!= null)
    {
        numberOfLines++;  // Getting the number of lines


    }

    read.reset();
    System.out.println(numberOfLines + ": is the no of lines");
    baseString.append(read.readLine());
    baseString.append(read.readLine());
    baseString.append(read.readLine());
    System.out.println(baseString);
 }
 catch(IOException e){
        e.printStackTrace();
 }
}

ベース文字列は単なる Stringbuffer です

private StringBuffer baseString = new StringBuffer();

何らかの操作を実行するには、明示的にカウントが必要です

4

2 に答える 2

2

hereで述べたように、ファイルは によって順次読み取られるため、 BufferedReaderBufferedReaderを使用してファイルの先頭に戻ることはできませんreset

新しいものを作成する必要がFileReaderありますBufferedReader

また

RandomAccessFileを使用する

于 2013-04-09T18:24:29.803 に答える