【发布时间】:2011-09-13 15:36:11
【问题描述】:
我尝试在我的代码中逐行读取一个 .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();
所以,我的问题是:
- (这可能很愚蠢)我们通常应该将文本文件放在哪里?
- 如何更改 [
System.getProperty("user.dir");],使其指向我的项目工作区?
谢谢!
莎朗
关于您的回复:
添加以下参数-Duser.home='Your Path' 确保在系统变量的开头添加-D。当您在使用 tomcat 服务器时打开启动配置时,您可以将这个变量放在参数选项卡下提供的 VM 参数框中。
我找不到你说的那个地方。是在 Eclipse 还是 Tomcat 目录下?
谢谢
【问题讨论】:
-
感谢您的回复。 1.我试过this.getClass().getClassLoader().getResourceAsStream("filename.txt"); => 这将返回 null。猜它只是找不到文件。 2. 正如@Eng.Fouad 的回答:这只是我的错字的修正,是的,我需要额外的 "/" File myFile = new File(workDir + "/" + file);但是,它仍然无法正常工作,因为我仍然遇到使用 Tomcat 运行时“workDir”会指向 D:\eclipse 的问题。为什么 tomcat 服务器会认为我的工作空间在 D:\eclipse 下?它一定是在某个地方设置的。帮助!我只是找不到答案。谷歌好几天。谢谢!
标签: java