【发布时间】:2016-09-10 00:31:42
【问题描述】:
我在澄清有关 Java.io.File 的文档时遇到了一些麻烦。
来自Android docs:
此类的实例可能表示也可能不表示实际的文件系统对象,例如文件或目录。如果它确实表示这样的对象,则该对象驻留在分区中。分区是文件系统的特定于操作系统的存储部分。单个存储设备(例如物理磁盘驱动器、闪存、CD-ROM)可能包含多个分区。该对象(如果有)将驻留在分区上
据我了解,File 对象很像文件系统结构中某个位置的路径/指针。
关于分区的部分让我很困惑,
当我打电话时:
File file = new File(getFilesDir(),"myFileName.txt")
是否为名为“myFileName.txt”的新文件系统对象分配了新的硬盘空间块?即。
Memory:
Documents
hats.png
调用构造函数后:
Memory: OR Memory Partition Land:
Documents Documents myFileName.txt
hats.png hats.png
myFileName.txt
如果不是这个名为“myFileName.txt”的文件系统对象是如何/何时物理创建的?
【问题讨论】:
-
关于这个:“这个类的实例可能表示也可能不表示实际的文件系统对象,例如文件或目录”我认为这是在谈论像
/proc这样的虚拟文件系统。 /proc 中的“文件”不是真正的文件(磁盘上的 0 字节)。这些“文件”用于获取进出内核的信息。看到这个:kernel.org/doc/Documentation/filesystems/proc.txt