Создание больших файлов в Java (2 ГБ +)

В настоящее время я работаю над проектом по созданию большого случайного двоичного файла (от 2 ГБ до 10 ГБ), и я в недоумении для идей. Очевидно, что выписывание данных объемом 10 Гб займет вечность, и мне нужен своевременный подход. Моя последняя идея состояла в том, чтобы создать файл с произвольным доступом и установить размер 2+ ГБ, но кажется, что функция.setLength не может обрабатывать такие большие размеры. Я также думал о том, чтобы просто добавить один файл в другой, чтобы получить файл достаточно большого размера, но, похоже, нет и действительно хорошего способа сделать это быстро. Есть идеи?

1 ответ

Этот вопрос и комментарии очень помогли мне в последнее время - чтобы создать файл заданного размера, это был бы метод, который можно было бы написать:

       private File createFileOfSize(String suffix, long requestedSize) throws IOException {
    File tempFile = new File(temporaryDirectory, getClass().getSimpleName() + "." + suffix);
    RandomAccessFile randomAccessFile = new RandomAccessFile(tempFile, "rw");
    randomAccessFile.setLength(requestedSize);
    randomAccessFile.close();
    return tempFile;
  }

... куда RandomAccessFileявляется java.io.RandomAccessFile

Другие вопросы по тегам