Запись шестнадцатеричных и двоичных значений в файл - PullRequest
2 голосов
/ 04 ноября 2011

Как я могу записать шестнадцатеричные и двоичные значения (не их строковое представление) в файл?Например, как я могу записать шестнадцатеричное значение 1A (26 в десятичном виде) в файл?

Ранее я пытался использовать BufferedWriter.

Ответы [ 2 ]

3 голосов
/ 04 ноября 2011
(ns test.core
  (:use [clojure.java.io]))

(with-open [os (output-stream "/tmp/foo")]
  (.write os 0x1A))

Обратите внимание, что макрос with-open очень удобен при работе с вводом / выводом.

3 голосов
/ 04 ноября 2011

Вы должны использовать OutputStream для записи двоичных данных, а не реализацию Writer (которая подходит для текстовых данных).

Пример Java

(Извините, я не знаю Clojure)

byte b = 0x1A;
OutputStream os = new BufferedOutputStream(new FileOutputStream("c:\tmp\out.dat"));
os.write(b);
...