Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用file Class创建文件与&;FileOutputStream?_Java - Fatal编程技术网

Java 使用file Class创建文件与&;FileOutputStream?

Java 使用file Class创建文件与&;FileOutputStream?,java,Java,您好,我有一个使用文件类和FILEOUTPUTSTREAM类创建文件的查询。我知道使用文件类我们必须使用方法名称创建文件来创建特定的文件,当我们使用文件输出流类时,我们在类初始化中传递字符串路径或名称,然后自动创建该文件。但是这两种情况有什么不同呢?一个文件是一个抽象路径。它没有物理存在 只有在“使用”该文件时,底层物理存储才会被实际命中 FileOutputStream将为您处理文件存在性测试/创建/打开等 注意:如果您使用Java 7,请不要使用文件,而是使用路径。文件类只是文件的句柄。Fi

您好,我有一个使用文件类和FILEOUTPUTSTREAM类创建
文件的查询。我知道使用文件类我们必须使用方法名称
创建文件
来创建特定的文件,当我们使用文件输出流类时,我们在类初始化中传递字符串路径或名称,然后自动创建该文件。但是这两种情况有什么不同呢?

一个
文件
是一个抽象路径。它没有物理存在

只有在“使用”该
文件
时,底层物理存储才会被实际命中

FileOutputStream
将为您处理文件存在性测试/创建/打开等


注意:如果您使用Java 7,请不要使用
文件
,而是使用
路径

文件
类只是文件的句柄。
FileOutputStream
是一个可以写入的
OutputStream


你可以把它们看作是
touch myfile.txt
vs.
echo>myfile.txt

嗯,不,
touch
实际上会创建文件是的,但我们正在比较
File.createNewFile()
通过
FileOutputStream创建文件
意味着具有file类的文件用于那些不存在的物理对象,FileOutputStream用于那些已经存在的对象。否;正如我所说的,
FileOutputStream
将为您处理文件创建(这取决于您使用的构造函数)。创建
文件
对象时,创建一个抽象路径;潜在的物理对象可能存在,也可能不存在;您只能在使用它时确定。好的,这就是它们之间的区别,现在我很清楚+1@fge:)
try(BufferedWriter BufferedWriter=Files.newBufferedWriter(path.get(“filename”)、StandardCharSets.UTF_8)){…}
ftw