我尝试在我的代码中逐行读取.txt文件,我将它放在/src/目录下,当我使用测试用例或静态void main运行时,路径输出是正确的.但是,当我使用Tomcat服务器运行应用程序时,应用程序根路径指向我下载Eclipse的位置 - D:\eclipse\...而正确的路径应该是D:\workspace\myproject\src\.然后,当然,它永远找不到文件.
以下是我的代码:
String workDir = System.getProperty("user.dir");
String file = "numFile.txt";
File myFile = new File(workDir + file);
String userPath = myFile.getPath();
Run Code Online (Sandbox Code Playgroud)
所以,我的问题是:
System.getProperty("user.dir");],它将指向我的项目工作区?谢谢!
沙龙
关于你的回复:
添加以下参数-Duser.home ='Your Path'确保在系统变量的开头添加-D.当您在使用tomcat服务器时打开启动配置时,可以将此变量放在参数选项卡下提供的VM参数框中.
我找不到你在说的地方.它在Eclipse或Tomcat目录中吗?
谢谢
简而言之,您不能在 Java 中更改正在运行的应用程序的当前工作目录;请参阅在 Java 中更改当前工作目录?
设置该user.dir属性将不起作用,因为这不会影响操作系统在解析应用程序路径名时使用的实际当前目录。
-Duser.dir在命令行上设置也不起作用。相反,您必须:
cd在运行应用程序之前到相关目录,ProcessBuilder,请使用该directory(File)方法设置工作目录,或者最后,您要做的是(IMO)一个坏主意:
$CATALINA_HOME/bin。(这是错误的......但你的黑客会破坏它。)更好的方法是按照@Eng.Fouad 的回答做一些事情。
| 归档时间: |
|
| 查看次数: |
41097 次 |
| 最近记录: |