Java工作区和文件路径
我有一个很容易解决的问题。 我的项目中有一个文件夹,希望使用相对路径获取该文件夹:Java工作区和文件路径,java,file,relative-path,absolute-path,Java,File,Relative Path,Absolute Path,我有一个很容易解决的问题。 我的项目中有一个文件夹,希望使用相对路径获取该文件夹: new File("/folder") 这给了我FileNotFoundException 如果我试着这样做 new File("d:/workspace/project/folder") 它起作用了 我怀疑它不起作用,因为: 新文件(“”)。getAbsolutePath()返回:D:\eclipse 所以不是工作区的路径 我是做错了什么还是需要在eclipse中更改一些设置你能试试吗 File file
new File("/folder")
这给了我FileNotFoundException
如果我试着这样做
new File("d:/workspace/project/folder")
它起作用了
我怀疑它不起作用,因为:
新文件(“”)。getAbsolutePath()
返回:D:\eclipse
所以不是工作区的路径
我是做错了什么还是需要在eclipse中更改一些设置你能试试吗
File file = new File("folder");
String path = file.getAbsolutePath();
FileInputStream fis = new FileInputStream(path);
在运行配置中,您可以指定启动的工作目录。这可能在不同的日食中有所不同,但对我来说:
Run->Run Cofigurations ...
Select Java Application, right Click New
Environment Tab gives you a chance to specify the working directory
Select Other, and then Workspace ... to specify a project in your workspace
D:\eclipse
是项目的根文件夹。如果在同一工作区的D:\java
中创建另一个项目,新文件(“”)。getAbsolutePath()
将返回D:\java
,因此这与工作区的路径无关
如果您想在项目中使用文件夹,请使用
,例如:
System.out.println(new File(".\\test").getAbsolutePath());
不是相对路径,而是绝对路径。
如果要访问相对路径,请使用
new File("folder")
或
Don指出您使用的是绝对路径。这就是问题所在 默认情况下,Eclipse中的工作目录是您执行的程序所在的项目路径。
通过显示以下属性,您始终可以知道工作目录:
System.out.println(System.getProperty("user.dir"));
就像djna建议的那样,我在Run Cofigurations中找到了答案,但不是在Environment选项卡中,而是在Arguments选项卡中。有一个工作目录部分,其中设置了d:\eclipse,需要将其设置为${workspace\u loc:myproject}您可能希望程序将工作区位置作为输入。在Eclipse中,您可以为java程序设置一个运行目标,并使用Eclipse预定义变量${workspace_loc}在中传递工作区的位置。Eclipse主菜单->运行->运行配置…新文件(“文件夹”)给我D:\Eclipse\folder,新文件(“文件夹”)给我D:\Eclipse\。\folder这就是为什么您的D:\Eclipse似乎是您的工作文件夹。试着像djna告诉你的那样设置eclipse。但新文件(“/folder”)应生成C:\folder
new File("./folder")
System.out.println(System.getProperty("user.dir"));