繁体   English   中英

无法在 Java 中找到和读取文件

[英]Cannot find and read file in Java

我对 Java 完全陌生,我正在使用别人的代码来读取二进制文件,但该文件无法打开。 我在 Windows 10 下的 Eclipse 中运行代码,该文件名为 bookDeepDist.dat 我已将其放在项目文件夹中。 我也试过(没有成功)的完整路径名是 C:\\Users\\Alan\\eclipse-workspace\\readDatabase\\bookDeepDist.dat

失败的代码是:

public void openBook() throws IOException {

    file = getClass().getResourceAsStream(BOOKPATH[bookNr]);
    if (file == null)
        throw (new IOException("Could not open File "+BOOKPATH[bookNr]));
}

错误信息是:无法打开文件 bookDeepDist.dat

所以它似乎试图打开正确的文件。 任何人都可以给我任何想法可能会出错吗?

问题是, getResourceAsStream() 在运行的 Java 程序的类路径中查找。 这就是为什么当您将文件放在项目文件夹中时它可以工作的原因。 您想要的是程序类路径之外的文件流。

代替

file = getClass().getResourceAsStream(BOOKPATH[bookNr]);

尝试使用

file = new FileInputStream(BOOKPATH[bookNr]);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM