大家好,我有一个问题,想用FILE CLASS & FILEOUTPUTSTREAM CLASS
创建FILE
。我知道使用FILE CLASS
需要使用createfile
方法来创建特定的文件,当我们使用FILEOUTPUTSTREAM CLASS
时,我们在类初始化中传递字符串路径或名称,然后该文件会自动生成。但是这两种情况有什么不同呢?
大家好,我有一个问题,想用FILE CLASS & FILEOUTPUTSTREAM CLASS
创建FILE
。我知道使用FILE CLASS
需要使用createfile
方法来创建特定的文件,当我们使用FILEOUTPUTSTREAM CLASS
时,我们在类初始化中传递字符串路径或名称,然后该文件会自动生成。但是这两种情况有什么不同呢?
File
是一个抽象路径。它没有实际的物理存在。
只有在“使用”该 File
时,才会实际访问底层物理存储。
FileOutputStream
会为您处理文件是否存在、创建、打开等操作。
注意:如果您使用 Java 7,请放弃使用 File
,而改用 Path
。
File
类只是文件的句柄。而FileOutputStream
则是一个可以写入数据的OutputStream
:FileOutputStream JavaDoc。
你可以将它们看作是touch myfile.txt
和echo > myfile.txt
的区别。
touch
实际上会创建文件。 - fgeFile.createNewFile()
和通过FileOutputStream
创建文件。 - Vlad
FileOutputStream
会为您处理文件创建(这取决于您使用的构造函数)。当您创建一个File
对象时,您创建了一个抽象路径;底层物理对象可能存在,也可能不存在;只有在使用它时才能确定。 - fge