当我们创建不带扩展名的新文件时,会创建什么类型的文件?

问题描述 投票:0回答:3

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

File file = new File("D:/light.txt");

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

File file = new File("D:/light");
java file operating-system
3个回答
4
投票

这个答案假设您所做的不仅仅是创建一个

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

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

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

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

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

您可以在任何文件中写入任何数据 - 仅仅因为文件的扩展名是

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


2
投票
当我们创建不带扩展名的新文件时,会创建什么类型的文件?

根本没有创建文件,并且只有一种类型
File


在java中,当我们创建文件时,我们使用扩展名来创建文件。

或者不是。

例如:
File file = new File("D:/light.txt");

我想知道当我们创建没有文件扩展名类型的文件时,我们会得到什么类型的文件格式。

你不知道。你根本没有得到任何文件格式,因为你没有得到文件:内存中只有一个
File

对象。


例如:
File file = new File("D:/light");


您可以生成您想要的所有示例,但不会创建文件,也没有文件格式。

无论如何,Java 并不关心文件扩展名。您的操作系统可能会,但那是另一回事了。


0
投票

© www.soinside.com 2019 - 2024. All rights reserved.