我目前正在做一个我必须制作MIPS模拟器的工作,
我已经在C中完成了这个项目,但现在我必须用Java做,并且如何使用二进制文件作为输入,在C中有一个函数,它返回一个值,让我知道文件是否有效。登记/>
功能是:fread(&memoTextSize, sizeof(int), 1, arch);
我需要做些事情才能做到这一点,但是用Java
如果有人能帮助我,我将非常感激
谢谢!
答案 0 :(得分:1)
您可能想要使用BufferedInputStream。这是一个例子:
import java.io.*;
class TestBinaryFileReading {
static public void main(String[] args) throws IOException {
DataInputStream data_in = new DataInputStream(
new BufferedInputStream(
new FileInputStream(new File("binary_file.dat"))));
while(true) {
try {
int t = data_in.readInt();//read 4 bytes
System.out.printf("%08X ",t);
// change endianness "manually":
t = (0x000000ff & (t>>24)) |
(0x0000ff00 & (t>> 8)) |
(0x00ff0000 & (t<< 8)) |
(0xff000000 & (t<<24));
System.out.printf("%08X",t);
System.out.println();
}
catch (java.io.EOFException eof) {
break;
}
}
data_in.close();
}
}