Java 与路径、文件和源文件夹混淆
我最近偶然发现了这个我无法理解的困境 假设我想加载一个文本文件,并将它放在我的JAR中。 在eclipse中,它变成res/txt/text.txt 但是,由于res/是一个源文件夹,所以在导出时,它会显示为txt/text.txt 现在,如果我尝试加载它以便在Eclipse中调试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文件夹放在目
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之前没有发生