无法找到保留在项目中的文件

时间:2015-08-04 07:10:49

标签: java file-io fileinputstream

我有一个excel文件,我保存在主包的子文件夹中。 我想读那个文件。当我使用<body> This is the centered body <div class="hack"> <div class="box">E</div> </div> </body>阅读时,很容易检测到该文件,但是当我使用InputStreamFileInputStram阅读时,我收到了找不到该文件的错误。

有人可以帮助我使用File file = new File(filepath)FileInputStram

来阅读文件

我写的用于读取文件的代码是

File file = new File(filepath)

File file = new File("upgradeworkbench/Resources/workbookOut.xlsm");

我在路径的开头尝试使用FileInputStream inp = new FileInputStream("upgradeworkbench/Resources/workbookOut.xlsm"); ,但它仍无效。

3 个答案:

答案 0 :(得分:0)

使用File类时,您需要提供绝对路径或相对路径。绝对路径是完整的文件路径,例如C:\workbookOut.xlsm

在相对路径中,有一个working directory的概念,它由a表示。 (点),其他一切都与它有关。

尝试给出完整路径或相对路径。

File file = new File("./upgradeworkbench/Resources/workbookOut.xlsm");

答案 1 :(得分:0)

如果你的文件在classpath中,那么尝试下面的代码

package mypack;

import java.io.*;

public class TestPath
{

    public static void main(String[] args) throws Exception
    {
        InputStream stream = Test.class.getResourceAsStream("/workbookOut.xlsm");
        System.out.println(stream != null);
        stream = Test.class.getClassLoader()
            .getResourceAsStream("workbookOut.xlsm");
        System.out.println(stream != null);
    }
}

答案 2 :(得分:0)

如果您的文件位于同一个包中,请使用以下行,它将起作用

URL url = getClass().getResource("workbookOut.xlsm");

File file =new File(url.getPath());