外部のC++アプリケーションがこのファイルを読み取る必要があるため、整数をリトルエンディアン(Javaはビッグエンディアンを使用)で表す4バイトのファイルに書き込む必要があります。私のコードはファイルに何も書き込みませんが、バッファにはデータが含まれています。なぜ?私の機能:
public static void copy(String fileOutName, boolean append){
File fileOut = new File (fileOutName);
try {
FileChannel wChannel = new FileOutputStream(fileOut, append).getChannel();
int i = 5;
ByteBuffer bb = ByteBuffer.allocate(4);
bb.order(ByteOrder.LITTLE_ENDIAN);
bb.putInt(i);
bb.flip();
int written = wChannel.write(bb);
System.out.println(written);
wChannel.close();
} catch (IOException e) {
}
}
私の電話:
copy("prueba.bin", false);