首页 > 解决方案 > 如何在不写的情况下将 setLength 设置为 RandomAccessFile?

问题描述

我正在运行以下代码:

    RandomAccessFile randomAccessFile = new RandomAccessFile(new File(Download.DESTINATION + Download.getFileName(Download.FILEPATH)), "rwd");
    randomAccessFile.setLength(contentLength);
    randomAccessFile.close();

AcontentLength约为 60Gb。我希望这个空间将只是在硬盘驱动器上创建。这个操作应该只是字节分配并且没有成本。我的意思是文件系统只是标记这些空间是由文件保留的。但是java在这个文件中写了一些东西:

在此处输入图像描述

有没有办法禁用它?我不在乎现在包含什么文件。稍后将重写所有数据。为什么java会立即填充这个文件?

PS如果问题不清楚,请随时在评论中提问。

标签: javajava-iorandom-access

解决方案


randomAccessFile.setLength(1024l * 1024 * 1024 * 60);


推荐阅读