2010-09-27 83 views
1

我想知道在java中創建非常大的dummy文件的最有效方法是什麼。 文件大小應該高於1GB。它將用於單元測試只接受文件< = 1GB的方法。創建大文件(> 1GB)的最有效方法

+0

可能重複[創建在Java給定大小的文件(http://stackoverflow.com/questions/245251/create -file-with-given-size-in-java) – meriton 2010-09-27 12:49:18

回答

12

創建一個稀疏文件。也就是說,打開一個文件,尋找1GB以上的位置並寫入一些字節。

相關:Create file with given size in Java

+0

+1 - 非常有趣 – 2010-09-27 12:41:52

+0

這就是我所需要的。謝謝! – Fortega 2010-09-27 12:46:47

2

難道你不能做一個模擬,返回> 1GB的文件大小?文件IO對我來說聽起來不是很單調(儘管這取決於你對單元測試的看法)。

+0

我想測試一段代碼,它根據文件名從磁盤加載文件並執行一些驗證檢查。所以它必須是一個真正的文件。 – Fortega 2010-09-27 12:47:52

0

提出這一功能來創建稀疏文件

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; 
} 
相關問題