我想知道在Java中创建一个非常大的虚拟文件的最有效方法。
文件大小应该略大于1GB。它将用于对只接受文件<= 1GB的方法进行单元测试。
你能不能创建一个返回文件大小大于1GB的模拟?对我来说,文件IO听起来不太像单元测试(尽管这取决于你对单元测试的理解)。
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;
}