writer = new BufferedWriter(new OutputStreamWriter(System.out));
char[] test = new char[1];
test[0]=(char)128;
writer.write(test,0,1);
writer.flush();
Вызов с использованием этой команды; java File> outBufferedWriter, записывающий символ с MSB 1
, а затем изучая «выход» с шестнадцатеричным редактором, я ожидаю получить байт 0x80 в начале файла и ничего не последующего за ним. Вместо этого я получаю 0x3F. Выполняя тот же код с чем-то другим, т. Е. 64, я получаю ожидаемый гекс 0x40.
'BufferedWriter' представляет собой поток символов ориентированный, используйте' BufferedOutputStream' вместо –