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

时间:2016-03-07 07:58:03

标签: java netbeans

所以我开发了一个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)

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

任何建议/帮助? 我在网上到处寻找并尝试了不同的方法,但他们没有工作。有些会使我的代码复杂化,所以我只是避免了。

提前致谢

2 个答案:

答案 0 :(得分:2)

如果您的配置文件要在应用程序内部存在(它将部署在jar或war中),您应该将其用作File而是{{1} }}

说它的相对路径是Resource(*)。你可以这样使用它:

org/example/files/configuration.txt

(*)如果你使用maven,它可能是InputStream is = getClass().getClassLoader().loadRessourceAsStream( "org/example/files/configuration.txt"); Scanner readConfigurationFile = new Scanner(is); ,如果你使用ant或eclipse notive编译器,它可能是src/main/resources/org/...

答案 1 :(得分:0)

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

以此结构为例

  • SRC
      • 的java
        • COM
          • 示例
            • Main.java
            • configuration.txt

你可以访问它

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

即使您从Main.java

访问它