java在windows中从相对路径获取文件
我正在尝试访问。从我的项目目录中记录一个文件。在windows中使用相对路径时出错。但当我得到一条绝对路径时,它工作得很好
File initialFile = new File("D:\\Demo\\src\\test\\java\\com\\pro\\mockfiles\\My-DOC-FILE.doc");
InputStream uploadStream = new FileInputStream(initialFile);
很好用 但是
File initialFile = new File("test/java/com/pro/mockfiles/My-DOC-FILE.doc");
InputStream uploadStream = new FileInputStream(initialFile);
给出以下错误
java.io.FileNotFoundException: test\java\com\pro\mockfiles\My-DOC-FILE.doc (The system cannot find the path specified)
我想用相对路径跑步,你能帮我吗
# 1 楼答案
您似乎正在任何服务器上运行应用程序
所以,当您在服务器上运行它时,应用程序将采用相对于该服务器根目录的路径(可能是
/bin
或其他取决于您的服务器的路径)当您以独立java程序的形式运行它时,它的路径与独立程序的执行位置有关
所以,如果您想在服务器上运行它,请给出相对于服务器根目录的路径
比如:-
File initialFile = new File("<Path after Server root>/test/java/com/pro/mockfiles/My-DOC-FILE.doc");
<Server root>
可以是C:/Myserver/bin之后的路径