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 次 |
| 最近记录: |