这个话题有很多混乱。已经提出了几个问题。事情似乎还不清楚。ClassLoader、绝对文件路径等
假设我有一个项目目录结构,
我的项目 - --dist --lib --src - 测试
我在“lib/txt”目录中有一个资源说“txtfile.txt”。我想以独立于系统的方式访问它。我需要项目的绝对路径。所以我可以将路径编码为 abspath+"/lib/Dictionary/txtfile.txt"
假设我这样做
java.io.File file = new java.io.File(""); //Dummy file
String abspath=file.getAbsolutePath();
我得到了不一定是项目根目录的当前工作目录。
假设我从“dist”文件夹中执行最终的“prj.jar”,该文件夹还包含“lib/txt/txtfile.txt”目录结构和资源,它也应该在这里工作。我应该是 dist 文件夹的绝对路径。
希望问题很清楚。