2012-10-04 52 views
0

多個數組給定一個字節數組,我可以從它使文件的代碼建立在Java

Files.write(String path, byte[] byteArray) 

問題是一個文件,因爲我有一個非常大的數組大小的工作,我可以不能製作一個長尺寸的陣列

long n = 100000000; 
byte byteArray = new byte[n]; //ERROR! Required int, found long 

我所做的是我有幾個字節數組。例如,由於我不能有一個4GB的數組,我製作了200MB的20字節數組。這20個數組表示文件的信息。現在,我怎樣才能從這個字節數組創建一個文件?我知道的唯一方法是使用Files.write,但只適用於1個數組。

在此先感謝。

回答

2

你可以使用:

Files.write(path, bytes, StandardOpenOption.APPEND); 

在調用後的第一個。

更好的方法(即不需要重新打開文件的20倍)將使用FileOutputStream,如:

FileOutputStream fos = new FileOutputStream(path); 
for(int i = 0; i < byteArrays.length; ++i) 
{ 
    fos.write(byteArrays[i]); 
} 
+0

謝謝!使用StandardOpenOption.APPEND,我可以一個接一個地寫所有的字節數組。完美的作品。 –