本主题中存在很多混淆。有人问了几个问题。事情似乎还不清楚。 的ClassLoader,绝对文件路径等等等等Java中项目文件夹的绝对路径
假设我有一个项目的目录结构,
MyProject-- --dist --lib --src --test
我有一个资源说,在“LIB/TXT”目录“txtfile.txt”。我想以系统独立的方式访问它。我需要项目的绝对路径。 所以我可以代码路径作为ABSPATH +“/ lib目录/词典/ txtfile.txt”
想我这样做
java.io.File file = new java.io.File(""); //Dummy file
String abspath=file.getAbsolutePath();
我得到的当前工作目录这不一定是项目的根。
想我从其中也包含“LIB/TXT/txtfile.txt”目录结构和资源的“DIST”文件夹执行最终的“prj.jar”,它应该在这里工作过。我应该绝对路径的dist文件夹。
希望问题清楚。
而且我觉得这种做法仍限于“UNIX”像目录结构平台,追加“/ lib目录/字典/txtfile.txt“在Windows上将由于前向和反向差异而导致混乱! :| – 2010-07-09 04:49:11
实际上,Java并不关心斜杠方向,尽管你只能明确指定非根驱动器,因为'/'指向当前磁盘的根目录。 – 2010-07-09 04:53:09
System.getProperty(“file.separator”)将返回Windows环境的“\”和Unix(和类Unix)的返回值“/”。 – Catchwa 2010-07-09 04:57:41