i have to write in a file 4bytes representing an integer in little endian (java use big endian) because an external c++ application have to read this file. My code don’t write anything in te file but de buffer has data inside. why?
my funcion:
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) {
}
}
my call:
copy("prueba.bin", false);
When you don’t know why something failed, it is a bad idea to ignore exceptions in an empty try-catch block.
Odds are excellent that you are running the program in an environment where the file cannot be created; however, the instructions you gave to handle such an exceptional situation is to do nothing. So, odds are you have a program that attempted to run, but failed with some reason, which was handled by not even displaying the reason to you.
try this
And I’ll bet you find out why it doesn’t work right away.