无法在java中为创建文件提供适当的相对路径

时间:2018-02-08 04:51:44

标签: java path relative

enter image description here

File file =  new CreateFile().getFile(".\\src\\main\\resources\\others\\uploaded\\"+fileDetail.getFileName());

这是我给createFile课程的路径。 目前我在src.main.com.cerner.rest.ConvertToStringServiceImpl.java

我的目标文件夹位于以下路径中。 src/main/resources/others/uploaded/..

1 个答案:

答案 0 :(得分:0)

您没有指定IDE,但至少在Eclipse Oxygen中,执行目录只是<Project Directory>,如果您尝试访问或创建内容,则需要./src/<stuff> src目录的子文件夹。

话虽如此,您的问题并不清楚您是在尝试创建新文件还是阅读现有文件?您没有具体询问此问题,但是对于加载预先存在的资源,请注意您通常不希望在运行时直接使用src(以及res和其他)文件夹因为(至少在Eclipse中)他们的内容被复制到构建目录。

另外,我注意到您将非代码文件保留在src目录中。在res旁边有一个resourcesrc目录,并将各种非代码资产整理到那里的包中,这通常是一种很好的做法。

此外,为了加载预先存在的资源,最简单的方法是使用静态方法<YourClass>.class.getResource(path),其中path"/package1/package2/filename"形式的字符串。

另外,请勿使用转义反斜杠。使用正斜杠,Java将负责幕后的平台依赖。