0
長いパラメータを使用してArrays.copyOfRange
を使用してバイト配列をカットする方法はありますか?Arrays.copyOfRange(byte []、long、long)? Javaで
編集:私は(バイト[]の長さ)ファイルの最後までのバイトインデックスからファイル(2GBより大きくない)を切断する必要が
int size = f.length()
例外: 互換性のない型:長いから可能な非可逆変換を (ファイルが600KBであっても)
File f = new File("path-to-file");
byte[] bytes = Files.readAllBytes(f.toPath());
long indexToCutFrom = a_long_number;
long indexToCutTo = f.length() - 1;
// method with these parameters does not exists
byte[] cuttedBytes = Arrays.copyOfRange(bytes, indexToCutFrom, indexToCutTo);
「Integer.MAX_VALUE」以上の要素を持つ配列はどうですか? – bradimus
配列は 'Integer.MAX_VALUE'の長さに制限されているので、2^32 -1です。ここで「長い」必要はありません。だから、要するに、あなたがする必要がないので、あなたはできません – AxelH
@bradimusそれを行うことができる 'Unsafe'があります – Eugene