当我们编写时,内存中的确切位置是什么
File file = new File("test");
相反,我们知道
File file = new File("C:test");
将在C驱动器中创建
默认情况下,它将是您的工作区。你可以通过这个看到它;
System.out.println(file.getAbsolutePath());
除非您将File
对象放在不同的目录中或更改Java的当前工作目录,否则它对应于下面的逻辑路径
System.getProperty("user.dir")
然而,File
不一定对应于文件系统上的文件;创建new File(...)
实际上并不会在文件系统上创建文件。例如,您可以调用
file.exists()
并且可以返回CCD_ 4。
Ideone演示
默认值是Java项目的工作区。如果你想知道默认值在哪里,可以用以下内容显示:
file.getAbsolutePath();
这将返回一个String对象,然后您可以使用该对象在控制台中显示。
请参阅此列表以了解未来的参考:
File file = new File("./../eclipse.ini");
file.createNewFile();
System.out.println(file.getAbsolutePath());// prints "C:workjavaWSjava-io...eclipse.ini"
System.out.println(file.getCanonicalPath());// prints "C:workjavaWSeclipse.ini"
System.out.println(file.getParent()); // prints "..."
System.out.println(file.getAbsoluteFile().getParent());// prints "C:workjavaWSjava-io..."
System.out.println(file.getName()); // prints "eclipse.ini"
System.out.println(file.getPath());// prints "...eclipse.ini"
System.out.println(file.isAbsolute());// prints "false"
链接到来源:点击这里
假设
我想,你所说的内存中,是指磁盘中。
定义
路径有两种类型。引用wiki中的定义:
- 绝对路径:
绝对或完整路径指向文件系统中的同一位置而不管当前工作目录如何。要做到这一点,它必须包含根目录。
- 和,相对路径:
相反,相对路径从某个给定的工作目录开始,从而避免了提供完整的绝对路径的需要。文件名可以是被认为是基于当前工作目录的相对路径。如果工作目录不是文件的父目录,则文件如果按文件名寻址,则会导致未找到错误。
为了提供帮助,我们需要知道您需要哪一个(绝对路径或相对路径)。
示例/答案
例如,如果您想知道test.txt
文件的绝对路径,我们需要知道您的工作目录及其结构。
想象你有一个工作目录,如下所示:
MyProject
---- Code
---- ----Main.c
---- Assets
---- ---- MyImage.png
---- Text.txt
在窗口中,它可能看起来像这样:
C:UserAakashDesktopMyprojecttext.txt
如果你想知道相对路径,我们只需要知道你的工作目录的结构:
text.txt
希望它能有所帮助!