当我们创建没有扩展名的新文件时会创建什么类型的文件?

Chi*_*ine 5 java operating-system file

在java中,当我们创建文件时,我们使用扩展名来创建文件.例如 :

File file = new File("D:/light.txt");
Run Code Online (Sandbox Code Playgroud)

我想知道在创建没有文件扩展名类型的文件时我们会得到什么类型的文件格式.例如 :

File file = new File("D:/light");
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 4

这个答案假设您所做的不仅仅是创建一个File对象 - 您实际上是在文件系统上创建一个文件。(File对象只是文件系统条目的逻辑表示,可能存在也可能不存在。)如果您真的只是创建一个File对象,请阅读 EJP 的答案 - 那时,您基本上已经有了一个名称。它没有“类型”或“格式”。

扩展名只是名称的一部分。操作系统可能会尝试使用它来显示不同的图标,或者在双击图标时启动特定的应用程序,或者其他什么 - 但这实际上只是名称的一部分。

从根本上来说,一个文件由以下部分组成:

  • 创建时指定的名称
  • 您在其中写入的字节
  • 元数据,例如访问控制

除非您故意添加元数据,否则它通常只是继承(默认权限等)。

您可以在任何文件中写入任何数据 - 仅仅因为文件的扩展名.txt并不意味着它绝对是文本文件。例如,它可能具有实际上是 MP3 编码的音频数据的内容。操作系统是否使用文件扩展名或内容来确定如何处理文件取决于操作系统。