如何在java中的另一个目录中打开文件?

Tin*_*uar 6 java directory file

如何打开当前目录中但不存在于另一个目录中的文件.例如,我有一个文件夹F:/ test,我的文件位于F:/test/test2/doit.txt和D:/ test3/doit2.文本

在制作File对象时在参数中输入的内容如下:

File f = new File("/test2/doit.txt");
Run Code Online (Sandbox Code Playgroud)

Tec*_*und 8

无论哪个操作系统,都可以访问一个文件,例如demo.txt

File file = new File("/d:/user/demo.txt");
Run Code Online (Sandbox Code Playgroud)

在Windows中,文件位于D:\user\

File file = new File("/usr/demo.txt");
Run Code Online (Sandbox Code Playgroud)

在文件所在的位置*nix*nux位置/usr/

此外,如果想要相对访问的文件可以完成(考虑到Windows示例):

假设我在D的歌曲目录中:喜欢:

D:/
|
|---songs/
|   |
|   |---Main.java
|
|---user/
    |
    |---demo.txt
Run Code Online (Sandbox Code Playgroud)

并且代码在Main.java中,然后以下代码工作.

File file = new File("../user/demo.txt");
Run Code Online (Sandbox Code Playgroud)


Paw*_*cyk 6

假设您从 F:/test 运行程序,您应该使用类似以下内容的内容:

File f = new File("./test2/doit.txt");
Run Code Online (Sandbox Code Playgroud)

使用硬编码的绝对路径不是一个好主意 - 当用户具有不同的目录结构时,您的程序可能无法工作。