【问题标题】:What makes a file into a folder? [closed]是什么让文件进入文件夹? [关闭]
【发布时间】:2013-03-10 12:43:02
【问题描述】:

文件和文件夹之间(特定于文件系统的)区别是什么?

为什么java.nio.file.Files 中需要不同的方法来创建一个或另一个? createDirectory(..)createFile(..)。两者都使用Path 作为文件系统对象的句柄/标识符。

在创建一个或另一个失败案例时,我是否应该考虑一些特别的事情(除了使用不同的方法来创建一个或另一个)?

对于文件或文件夹的创建,如果已经有同名的文件或文件夹,这是失败的情况。如果它将是一个 r/w 文件或文件夹,在文件夹的情况下可写意味着可以在其中创建文件,而在文件的情况下,这意味着向其写入字节 - 如何检查有区别吗?

如果实际上失败案例没有区别,我想抽象出一个自定义的FileSystemObject 并一视同仁。

【问题讨论】:

  • 请在第一天做一些功课,文件和文件夹的区别在计算机中是基本的。
  • @Longpoke,你说的能不能再坐飞机?
  • 首先在您当前的操作系统中创建一个文件。然后,创建一个与前一个文件同名的新文件。走着瞧吧。对文件夹/目录执行相同操作。现在,使用 Java 代码进行测试看看会发生什么。您必须假设文件/文件夹创建在同一路径中(否则练习将没有意义)。
  • 嗯好的。我不知道这是否会启发我,但谢谢。我很想知道实际上是否存在根本区别。
  • 你可以向你的操作系统老师询问这个问题(当你学习课程时)。

标签: java file filesystems directory


【解决方案1】:

好问题。

在最常见的操作系统(Windows、Linux 等)中,文件夹可以包含东西。那些东西是有名字的。每个东西都可以是一个文件或一个目录。

所以你可能有一些包含以下内容的文件夹:

  a
  b
d c
d d

ab 是文件。 cd 是文件夹。 ab 只能包含二进制数据。但cd 可以包含其他文件/文件夹。

例如c 可能如下所示:

  afile
  anotherfile
d morestuff
d stuff

这使您可以根据需要创建尽可能深的层次结构,并根据需要进行结构化。这是recursive 数据结构的一个非常基本的示例。选择是创建文件还是文件夹很有用,因为文件和文件夹是不同类型的事物。文件系统可以包含同时也是文件夹的文件,但我从未见过这样的文件系统。例如,在 Windows/Linux 中,如果您创建一个文件,则不能将其用作文件夹,您只能更改文件的内容(这只是任意二进制数据)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-01
    • 2011-05-28
    • 1970-01-01
    • 2012-12-06
    • 1970-01-01
    • 1970-01-01
    • 2011-12-14
    • 2013-06-07
    相关资源
    最近更新 更多