Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 与路径、文件和源文件夹混淆_Java_Eclipse - Fatal编程技术网

Java 与路径、文件和源文件夹混淆

Java 与路径、文件和源文件夹混淆,java,eclipse,Java,Eclipse,我最近偶然发现了这个我无法理解的困境 假设我想加载一个文本文件,并将它放在我的JAR中。 在eclipse中,它变成res/txt/text.txt 但是,由于res/是一个源文件夹,所以在导出时,它会显示为txt/text.txt 现在,如果我尝试加载它以便在Eclipse中调试 new File("txt/text.txt"); 我得到一个IOException,因为在Eclipse中它位于res/txt/text.txt中 我错过了什么?我认为把Res文件夹中的文件作为src文件夹放在目

我最近偶然发现了这个我无法理解的困境

假设我想加载一个文本文件,并将它放在我的JAR中。 在eclipse中,它变成res/txt/text.txt 但是,由于res/是一个源文件夹,所以在导出时,它会显示为txt/text.txt 现在,如果我尝试加载它以便在Eclipse中调试

new File("txt/text.txt");
我得到一个IOException,因为在Eclipse中它位于res/txt/text.txt中

我错过了什么?我认为把Res文件夹中的文件作为src文件夹放在目录中是一个坏习惯?我错了吗

此外,导出runnable jar时提取和打包所需库之间的差异

编辑: 我在res/文件夹中还有一个名为log.txt的松散文件 正常情况下,我可以使用

File logFile = new File("res/log.txt");
但现在,它创建了一个文件,如果该文件不存在,则直接在项目文件夹中,在res文件夹之外创建该文件

是,res是生成路径中的源文件夹


提前谢谢你!txt/也是源文件夹吗?源文件夹仅用于eclipse中的组织—在编译到jar时,所有源文件夹都会被删除并上移到上面最深的包或真实文件夹中。如果txt/是源文件夹,则只需引用文本即可。txt@snickers10m不,事实上不是,这让我更加困惑,我似乎特别是在if上出错了!file.exists file.createNewFile在res/change之前没有发生