Excelワークブック(.xlsx
)を読もうとしていますが、Workbook
を初期化するときにプログラムが停止するだけです。何のエラーも起こらないので何が起こっているのか分かりません。プログラムがExcelブック(Apache POI)を読み込もうとしていません
私が休止と言うとき、私はプログラムがただ一時停止していることを意味します。それはまだ実行中ですが、私はそれが固まっているように感じます。
import java.io.File;
import java.io.FileInputStream;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelReader
{
private String excelFilePath;
private FileInputStream inputStream;
private Workbook workbook;
private Sheet sheet;
// Constructors
public ExcelReader() {
try {
// Get path to excel workbook and put in stream
excelFilePath = "/home/flow/project/mydata.xlsx";
inputStream = new FileInputStream(new File(excelFilePath));
// Get type of workbook (Excel 2003 or Excel 2007+)
workbook = getWorkbook();
} catch (Exception e) {
e.printStackTrace();
}
}
// Get type of workbook (Excel 2003 or Excel 2007+)
private Workbook getWorkbook() {
Workbook work = null;
try {
if(excelFilePath.endsWith("xlsx")) {
System.out.println("In firstIf"); // Prints this
work = new XSSFWorkbook(inputStream); // Gets stuck here
System.out.println("After XSSF"); // Never prints this
}
else if(excelFilePath.endsWith("xls")) {
work = new HSSFWorkbook(inputStream);
}
else
throw new IllegalArgumentException("The specified file is not an Excel file");
} catch (Exception e) {
e.printStackTrace();
}
return work;
}
}
私は間違っていますか?なぜプログラムは次の行に移動しないのですか?
お待ちください。お待ちください。お待ちください。お待ちください。 –
私は30分以上待ってプログラムは何もしなかった。 – syy
スレッドダンプを生成してください(たとえば、https://confluence.atlassian.com/adminjiraserver071/generating-a-thread-dump-802593021.htmlを参照)、出力をポストしてください。また、この問題は、ファイル「ロック」のある他のプログラム –