Bir Tam Sayı (32 bit veya 4 Bayt) bir Byte dizisine dönüştürmeye ve bir dosyaya yazmaya çalışıyorum SADECE bu tamsayıdaki ilk Byte kesildi.Java - Bir Tamsayı Değer türünü bir Bayt'a dönüştürmek istiyorum, bu yüzden ikili dosya biçiminde bir dosyaya yazabilirim
DataOutputStream os = new DataOutputStream(new FileOutputStream(fileChooser.getSelectedFile() + ".soit"));
byte[] bytes = ByteBuffer.allocate(4).putInt(511).array();
for (byte b : bytes) {
System.out.format("0x%x ", b);
try {
os.write(bytes, 0, 1);
} catch (IOException ex) {
Logger.getLogger(p8r_planning.class.getName()).log(Level.SEVERE, null, ex);
}
}
Burada ne yazık ki dosya oluşturur ancak herhangi bir veri içermiyor kodumu, ancak benim System.out.format hattının bir parçacık İşte beklenen sonuçların çıktısını gelmez.
0x0 0x0 0x1 0xff bu durumda
, sadece ikili biçimde dosyama yazılı ilk byte (0xff) istiyorum. Bunun gibi :
bana birisi noktası yanlış yapmış olabileceğini Can
ne olacak?
yazma
DataOutputStream
üzerindewriteInt
kullanırdınız? Ayrıca, "X [binary?] Temsilini bir bayt değerinin" metin "olarak yazmasını gerçekten istediğiniz gibi görünüyor. – user2864740