gpt4 book ai didi

java - 以小端方式写一个整数

转载 作者:搜寻专家 更新时间:2023-11-01 02:13:54 24 4
gpt4 key购买 nike

我必须在一个文件中写入 4 个字节,表示小端(java 使用大端)中的整数,因为外部 C++ 应用程序必须读取此文件。我的代码不在 te 文件中写入任何内容,但 de buffer 中有数据。为什么?我的功能:

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);

最佳答案

当您不知道为什么失败时,忽略空 try-catch block 中的异常是个坏主意。

您在无法创建文件的环境中运行程序的可能性很大;然而,你给出的处理这种特殊情况的指示是什么都不做。因此,很可能您有一个程序试图运行,但由于某种原因失败了,甚至没有向您显示原因。

试试这个

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) {
// this is the new line of code
e.printStackTrace();
}
}

我敢打赌,您会立即发现它无法正常工作的原因。

关于java - 以小端方式写一个整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11019279/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com