java - 尝试在 java 上创建 7 GB 的文件大小

标签 java

我找到这段代码是为了创建一个特定大小的文件:

    import java.io.*;

    class Test {
    public static void main(String args[]) {
      try {
           RandomAccessFile f = new RandomAccessFile("t", "rw");
           f.setLength(1024 * 1024 * 1024);
      } catch (Exception e) {
           System.err.println(e);
      }
    }
  }

这给了我 1GB,但我想要 7GB,所以我做了:

   import java.io.*;

   class Test {
   public static void main(String args[]) {
      try {
           RandomAccessFile f = new RandomAccessFile("t", "rw");
           f.setLength(1024 * 1024 * 1024 * 7);
      } catch (Exception e) {
           System.err.println(e);
      }
    }
  }

但我得到:

java.io.IOException: 试图将文件指针移动到文件开头之前

有人知道该怎么办吗?

最佳答案

7GB(以字节为单位)超出了 int 的 32 位大小。因此它将溢出为负数。

所以你需要让它变长:

  f.setLength(1024l * 1024 * 1024 * 7);

关于java - 尝试在 java 上创建 7 GB 的文件大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24183526/

相关文章:

java - 如何通过多线程迭代concurrentLinkedQueue?

java - Android FileOutputStream 创建损坏的文件

java - 如何在mysql中存储当前日期和时间

java - 一对多类型数组列表

java - 在 Mac 上使用 selenium Chromedriver 3.11.0 自动下载文件

java - 解析日期并在 Java 中遇到 'static reference to the non-static method' 错误

java - 什么是 Terracotta ?

java - 正则表达式 - Matcher.Group 如何工作

java - 解析字符串以获取内容

java - 粗体样式在 pdf 输出中不起作用