fRead of C in Java

时间:2014-12-03 19:41:31

标签: java c fread

我目前正在做一个我必须制作MIPS模拟器的工作,
我已经在C中完成了这个项目,但现在我必须用Java做,并且如何使用二进制文件作为输入,在C中有一个函数,它返回一个值,让我知道文件是否有效。登记/> 功能是:fread(&memoTextSize, sizeof(int), 1, arch);
我需要做些事情才能做到这一点,但是用Java 如果有人能帮助我,我将非常感激 谢谢!

1 个答案:

答案 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();
  }
}

来自How to read binary file created by C/Matlab using JAVA