0

バイト配列が与えられると、コードを使用してそれからファイルを作成できます

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つの配列でのみ機能します。

前もって感謝します。

4

1 に答える 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]);
}
于 2012-10-04T22:30:46.523 に答える