繁体   English   中英

Java-netbeans 8.1:无法识别的文件?

[英]Java-netbeans 8.1: Unrecognized file?

因此,我开发了一个Java应用程序并尝试读取文件,我得到一条错误消息,提示文件configuration.txt不存在。

这是文件读取代码:

    public static void main(String[] args) throws FileNotFoundException {

    //reading configuration file
    Scanner readConfigurationFile = new Scanner(new File("configuration.txt"));

是的,我确实包含了导入的必要IO库和实用程序。

我将文件移动到了所有位置(在程序包中,项目文件夹中或bin文件夹中,等等。)并进行了测试,但没有成功。

唯一有效的方法是将其移至桌面,然后在代码中将文件的路径放在桌面上(因此C:\\ User \\ .... \\ configuration.txt)

但这不是我想要的,因为其他人必须在不更改代码的情况下运行它。

有什么建议/帮助吗? 我在网上到处都看过,尝试过不同的方法,但是它们没有用。 有些会使我的代码复杂化,所以我避免了。

提前致谢

如果您的配置文件旨在驻留在应用程序内部(它将部署在jar或war中), 则不应将其用作File而是用作Resource

假设其相对路径为org/example/files/configuration.txt (*)。 您可以通过以下方式使用它:

InputStream is = getClass().getClassLoader().loadRessourceAsStream(
    "org/example/files/configuration.txt");
Scanner readConfigurationFile = new Scanner(is);

(*),这可能是src/main/resources/org/...如果你用maven,或src/org/...如果你使用ant或偏食notive编译器。

如果将其放在包文件夹中,则需要相对路径。

以这种结构为例

  • src
    • 主要
      • 爪哇
        • com
            • Main.java
            • configuration.txt

您将访问它

new File("src/main/java/com/example/configuration.txt");

即使您从Main.java访问它

暂无
暂无

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

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