2

このエラーをスローするアプリケーションがあります(xlsxファイルでのみ発生します):

java.lang.NullPointerException
at java.io.File.<init>(File.java:222)
at de.mpicbg.tds.core.ExcelLayout.openWorkbook(ExcelLayout.java:75)

メソッド'openWorkbook'は次のようになります。

    private void openWorkbook() throws IOException {
    File excelFile = new File(fileName);

    timestamp = excelFile.lastModified();

    // open excel file
    if (fileName.endsWith(".xlsx")) {
        InputStream excelStream = new BufferedInputStream(new FileInputStream(excelFile));
        this.workbook = new XSSFWorkbook((excelStream));

    } else {
        this.workbook = new HSSFWorkbook(new POIFSFileSystem(new FileInputStream(excelFile)));
    }
}

すべてをデバッグモードで実行すると、すべてがスムーズに進み、エラーメッセージが表示されません。この動作についての説明も、修正方法もわかりません。誰か助けてもらえますか?

4

1 に答える 1

2

エラーメッセージはあなたfileNamenull

デバッグ時にこれを再現できない場合は、メソッドの開始時にログメッセージを追加できます。

System.out.println("The fileName is `" + fileName+"`");

設定されている場合とされていない場合があるフィールドを使用する代わりに、パラメーターを使用することをお勧めします。

private void openWorkbook(String fileName) throws IOException {
    assert fileName != null;
于 2012-10-12T12:55:52.293 に答える