9

このページの下部にあるコードを少し使用してみます。私が作成したクラスのコードは次のとおりです。

import java.io.LineNumberReader;
import java.io.FileReader;
import java.io.IOException;

public class LineCounter {
  public static int countLines(String filename) throws IOException {
    LineNumberReader reader  = new LineNumberReader(new FileReader(filename));
    int cnt = 0;
    String lineRead = "";
    while ((lineRead = reader.readLine()) != null) {}
    cnt = reader.getLineNumber();
    reader.close();
    return cnt;
  }
}

私の目的は、テキスト ファイルの行数を数え、その数を整数として保存し、その整数をメイン クラスで使用することです。 私のメインクラスでは、これを実現するためにいくつかの異なる方法を試しましたが、(新しいプログラマーであるため) 何かが欠けています。最初に試したのは次のとおりです。

String sFileName = "MyTextFile.txt";
private int lineCount = LineCounter.countLines(sFileName);

この試行で、「報告されていない例外 java.io.IOException; をキャッチするか、スローするように宣言する必要があります」というエラーが表示されます。ご覧のとおり、「countLines」メソッドで例外が宣言されているため、これを取得する理由がわかりません。投稿した最後のコードのすぐ下で try catch ブロックを使用しようとしましたが、それも機能しませんでした (ただし、正しく実行したとは思いません)。これが私のtry catchの試みです:

String sFileName = "MyTextFile.txt";
private int lineCount;{
    try{
        LineCounter.countLines(sFileName);
    }
    catch(IOException ex){
        System.out.println (ex.toString());
        System.out.println("Could not find file " + sFileName);
    }
}

道を教えてください!よろしくお願いします。

4

3 に答える 3