Rob*_*itt 4 java path relative-path
我有这样的结构:
源代码 -|com -|公司 -|核心--> JAVA类 -|规则 --> 文本文件
Core 内部是一个 Java 类,它使用:
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(fileName)));
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚要使用什么相对路径。现在我用:
“..\\..\\..\\..\\rules\\rule1.txt”
我也尝试过:
“../../../../rules/rule1.txt”
我哪里做错了?
事实并非如此。相对路径是相对于当前应用程序的工作目录,而不是类的目录。如果您想了解当前的工作目录是什么,请使用System.getProperty("user.dir")
.
更好的方法是将规则目录添加到类路径中,然后使用Class#getResourceAsStream()
.
另一种方法是以其他方式设置规则目录的路径:如果可行,您可以提供命令行选项或设置某些系统属性(例如java -Drules.path=/path/to/rules ...
,稍后通过 读取System.getProperty("rules.path")
)。
归档时间: |
|
查看次数: |
3329 次 |
最近记录: |