有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 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之后的路径