Tôi đang sử dụng DataOutputStream
để ghi vào một tệp, tuy nhiên tôi muốn thay đổi phần cuối của dữ liệu.Trong Java, khi ghi vào một tệp với DataOutputStream, làm cách nào để xác định Endian của dữ liệu được ghi?
Đây là cách tôi đang ghi dữ liệu byte đến tập tin (nó ra tại Little endian theo mặc định)
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
Có cách nào tôi có thể xác định Endian của cách dữ liệu byte được viết bằng Java ?
nó nói "không thể nhanh chóng loại 'ByteBuffer'" Tôi đang sử dụng từ khóa mới để tạo một đối tượng của nó, có cách nào khác hay chính xác hơn để tạo một thể hiện của một đối tượng không? – deztructicus
@deztructius: hãy kiểm tra JavaDoc mà tôi đã liên kết đến. –
Bạn có thể sử dụng 'ByteBuffer.allocateDirect (int size)' –