Java 从文件中读取二维短片数组的最快方法是什么? 在C++中,我们可以定义一个无符号的短数组来读取二进制文件中的内容,比如这样的语句: const int数组_SIZE=100; 无符号短(*数组)[3]; 数组=新的无符号短[array_SIZE][3]; std::ifstream fin(“yourfile”,std::ios::in | std::ios::binary); 如果(fin.is_open()) fin.read(重新解释强制转换(数组),数组大小*3*sizeof(无符号短字符));

Java 从文件中读取二维短片数组的最快方法是什么? 在C++中,我们可以定义一个无符号的短数组来读取二进制文件中的内容,比如这样的语句: const int数组_SIZE=100; 无符号短(*数组)[3]; 数组=新的无符号短[array_SIZE][3]; std::ifstream fin(“yourfile”,std::ios::in | std::ios::binary); 如果(fin.is_open()) fin.read(重新解释强制转换(数组),数组大小*3*sizeof(无符号短字符));,java,Java,在Java中,有没有像Files.readAllBytes这样的有效或等效方法,可以从二进制文件中读取所有内容并将其存储在2D短数组中(即short[][]),而不是像readShort那样循环文件?不这么认为。Java中的2d数组不一定是一个连续的内存块。“Java中的2d数组不一定是一个连续的内存块。”它们从来都不是一个连续的内存块。。。如果类型为short[][]@切斯基-我想你在这里追赶独角兽。@StephenC他们可能永远不会,但你可以想象一个优化编译器会做到这一点。@BrianMcC

在Java中,有没有像
Files.readAllBytes
这样的有效或等效方法,可以从二进制文件中读取所有内容并将其存储在2D短数组中(即
short[][]
),而不是像
readShort
那样循环文件?

不这么认为。Java中的2d数组不一定是一个连续的内存块。“Java中的2d数组不一定是一个连续的内存块。”它们从来都不是一个连续的内存块。。。如果类型为
short[][]
@切斯基-我想你在这里追赶独角兽。@StephenC他们可能永远不会,但你可以想象一个优化编译器会做到这一点。@BrianMcCutchon如果是这样的话,有没有一种有效的方法来读取它们?@BrianMcCutchon-我认为这在当前一代Java编译器中是不可能的。不要这样认为。Java中的2d数组不一定是一个连续的内存块。“Java中的2d数组不一定是一个连续的内存块。”它们从来都不是一个连续的内存块。。。如果类型为
short[][]
@chesschi-我想你在这里追赶独角兽。@StephenC他们可能永远不会,但你可以想象一个优化编译器会做到这一点。@BrianMcCutchon如果是这样的话,有没有一种有效的方法来读取它们?@BrianMcCutchon-我认为这在当前一代Java编译器中是不可能的。