java - FileOutputStream 是否截断现有文件

标签 java file

 final OutputStream output = new FileOutputStream(file);

截断文件如果它已经存在?令人惊讶的是,API documentation for Java 6不说。 API documentation for Java 7 也没有. specification for the language itself FileOutputStream 类的语义没有什么可说的。

我知道

 final OutputStream output = new FileOutputStream(file, true);

导致附加到文件。但是附加和截断并不是唯一的可能性。如果将 100 字节写入 1000 字节的文件,一种可能性是最后的 900 字节保持原样。

最佳答案

FileOutputStream 没有 append 选项截断文件。

请注意 FileOutputStream 打开一个 Stream,而不是一个随机访问文件,所以我想它的行为方式确实有意义,尽管我同意文档可以更明确一点。

关于java - FileOutputStream 是否截断现有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15387567/

相关文章:

java - 使用 jQuery 和 Java 根据下拉列表填充 html 表格数据

regex - perl 获取文本文件中的匹配模式

java - Android 中的 “Could not find a part of the path” 错误

php - 在服务器上压缩/解压缩可能包含任何内容的未知上传文件是否危险?甚至病毒?

java - 计算JodaTime中2个日期之间的时间差

java - 循环遍历每个方向依次递增的 3d 矩阵?

java - jpa元模型如何获取表名

java - Spring Data 域事件丢失(?)

java - 在Java中使用图像的问题

java - 如何从java中的文件夹目录中获取png图像名称、路径、高度和宽度?