このページの下部にあるコードを少し使用してみます。私が作成したクラスのコードは次のとおりです。
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);
}
}
道を教えてください!よろしくお願いします。