dez*_*cus 9 java io endianness
我正在使用DataOutputStream写入文件,但我想更改数据的字节序.
这就是我将字节数据写入文件的方式(默认情况下以Little end输出)
public void generateBinObjFile(String outputFile)
try {
// Create file
DataOutputStream stream = new DataOutputStream(
new FileOutputStream(outputFile));
stream.writeShort(this.quantize(this.xComponents.get(index), //<-- Short is written in little Endian
this.min_x, this.max_x) - 32768);
} // catch statements here
Run Code Online (Sandbox Code Playgroud)
有没有办法可以定义字节数据用Java编写的Endian?
Joa*_*uer 11
你不能这样做DataOutputStream,总是使用大端.
您可以使用ByteBuffer可以调用的函数order()来影响它读取和写入数据的方式.
你可以使用这ByteBuffer 两种方法来准备一个byte[]你OutputStream以后用经典写的东西,或者完全转到NIO并用它WritableByteChannel来写作
您可以使用:com.google.common.io.LittleEndianDataOutputStream来自
https://google.github.io/guava/releases/17.0/api/docs/com/google/common/io/LittleEndianDataOutputStream.html 或复制这个类:http : //www.cafeaulait.org/books/javaio/ ioexamples/07/LittleEndianOutputStream.java
| 归档时间: |
|
| 查看次数: |
10703 次 |
| 最近记录: |