Создание больших файлов в 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