无法在Intellij

时间:2015-08-19 10:38:14

标签: file intellij-idea windows-8.1

我在Intellij Idea和Windows 8.1上阅读文件时遇到了一些奇怪的麻烦。

我总是得到FileNotFoundException

以下是代码段:

public XlsReader(String fileName, String sheetName) {
    open(fileName, sheetName);
}

public void open(String fileName, String sheetName) {
    InputStream fis = null;
    try {
        if (sheetName == null || sheetName.isEmpty()) {
            throw new IllegalArgumentException("Please, provide sheet name");
        }
        Logger.logDebug("PATH: " + new File(".").getAbsolutePath());
        fis = new FileInputStream(fileName);

        String resourceFilePath = this.getClass().getResource(fileName).getFile();
        Logger.logDebug(resourceFilePath);
        fis = new FileInputStream(resourceFilePath);

        XSSFWorkbook workBook = new XSSFWorkbook(fis);
        sheet = workBook.getSheet(sheetName);
        getMetaData();

我无法理解为什么会这样:

new FileInputStream(fileName)

我有这个例外。 当从以下方面改变路径时:

  

xls = new XlsReader(" InputDataIndirect.xlsx"," Calculator");

为:

  

xls = new XlsReader(" test / InputDataIndirect.xlsx"," Calculator");

它现在有效。

这是项目进展:

enter image description here

我也尝试从类路径this.getClass().getResource(fileName).getFile()加载文件,但它没有成功。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

如果您正在从IntelliJ构思中运行主方法或测试,它会使用项目的根作为根来加载文件。因此,它会显示在new_automation下,因此您需要将test文件夹添加到路径中。

要更改此设置,您可以将运行配置中的 工作目录位置 更改为您希望其查找文件的位置。