[英]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编译器。
如果将其放在包文件夹中,则需要相对路径。
以这种结构为例
您将访问它
new File("src/main/java/com/example/configuration.txt");
即使您从Main.java
访问它
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.