java - 我需要在我的 Java 项目中使用什么相对路径

标签 java path relative-path

我的结构如下:

src 
  -|com 
       -|company 
               -|Core --> JAVA class 
  -|rules --> text files

Inside Core is a Java Class that uses:

BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(fileName)));

但我不知道要使用什么相对路径。现在我使用:

"..\\..\\..\\..\\rules\\rule1.txt"

我也试过:

"../../../../rules/rule1.txt"

我哪里出错了?

最佳答案

这样不行。相对路径是相对于当前应用程序的工作目录不是类的目录。如果您想知道您当前的工作目录是什么,请使用 System.getProperty("user.dir")

更好的方法是将规则目录添加到类路径,然后使用 Class#getResourceAsStream() .


另一种方法是以其他方式设置规则目录的路径:如果可行,您可以提供命令行选项或设置一些系统属性(例如 java -Drules.path=/path/to/rules ... 然后通过 System.getProperty("rules.path") 读取)。

关于java - 我需要在我的 Java 项目中使用什么相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3904894/

相关文章:

Android:如何检查矩形是否包含触摸点?

java - 无法通过相对路径检索图像

php - 如何在 CodeIgniter 中使用相对路径?

java - 我如何遍历 android.graphics.Path 段?

javascript - 如何通过 javascript 确定图像 url 字符串没有基本域?

sass - WebPack + SASS : How to generate relative image path?

java - 带有 comet 处理器的此 URL 不支持 HTTP 方法 GET

java - 如何使用 ParseQuery 对同一数据库列进行 OR 查询?

java - 如何知道 Web 请求中提供的文件

Java 包和类