Самый эффективный способ создания большого файла (> 1 ГБ) - PullRequest
1 голос
/ 27 сентября 2010

Я хотел бы знать, каков наиболее эффективный способ создания очень большого фиктивного файла в Java. Размер файла должен быть чуть больше 1 ГБ. Он будет использоваться для модульного тестирования метода, который принимает только файлы <= 1 ГБ. </p>

Ответы [ 3 ]

13 голосов
/ 27 сентября 2010

Создать разреженный файл.То есть откройте файл, найдите позицию выше 1 ГБ и запишите несколько байтов.

Соответствует: Создайте файл с заданным размером в Java

2 голосов
/ 27 сентября 2010

Не можете ли вы сделать макет, который возвращает размер файла> 1 ГБ?Файловый ввод-вывод не звучит для меня достаточно юнит-тестом (хотя это зависит от вашего представления о юнит-тесте).

0 голосов
/ 15 июля 2015

Сделана эта функция для создания разреженных файлов

private boolean createSparseFile(String filePath, Long fileSize) {
    boolean success = true;
    String command = "dd if=/dev/zero of=%s bs=1 count=1 seek=%s";
    String formmatedCommand = String.format(command, filePath, fileSize);
    String s;
    Process p;
    try {
        p = Runtime.getRuntime().exec(formmatedCommand);

        p.waitFor();
        p.destroy();
    } catch (IOException | InterruptedException e) {
        fail(e.getLocalizedMessage());
    }
    return success;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...