Fileオブジェクト、オフセット、およびバイト配列パラメータをとり、そのバイト配列をJavaのFileオブジェクトに書き込む関数を記述しようとしています。Java OutputStream Skip(offset)
ので機能は
public void write(File file, long offset, byte[] data)
のようになります。しかし、問題は、オフセットパラメータが長いタイプですので、私はオフセットとして整数を受け取りのOutputStreamの書き込み()関数を使用することができないということです。
Skip(long)を持つInputStreamとは異なり、OutputStreamはファイルの最初のバイトをスキップできません。
この問題を解決する良い方法はありますか?
ありがとうございます。
「int」に入れることのできる最大数は2,147,483,647です。書きたいアレイが+ 2GBよりも大きいですか? –
説明のために、オフセットは出力ストリームではなく*配列*内の位置にのみ適用されます。 OutputStreamでは、位置をスキップすることはできません。 –
@TheNail offsetは、ファイルの先頭からのオフセットであり、配列の先頭ではありません。そして、FATをファイルシステムとして使用していない限り、実際には2Gbより大きなファイルを持つことができます。 – Dunes