javaシリアル化された.datファイルをCにデコードすることはできますか?Cでシリアル化されたjava .datファイルのデコード
私はJavaプロジェクトで、次のように私が読んJavaプロジェクト内のファイルがあります:
FileInputStream in = new FileInputStream(.dat file path);
ObjectInputStream si = new ObjectInputStream(in);
si.readUTF();
si.readBoolean()
int num=si.readInt();
どのように私はCにこのコードを変換することができますか?私は最初の文字がUTF文字で、2番目の文字がブール値で、3番目がintであることを知っています。
unsigned char buf[16];
FILE *fp = fopen((const char*)[filePath UTF8String], "rb");
fread(buf, 4, 1, fp); // read 4 bytes
printf("%s", buf);
私の知る限り、Java:UTF = 4バイト、ブール= 1バイト、Int = 4バイト。しかし、データを書き出し、それが出力のサイズであることを確認する必要があります。 – MichaelHouse