Я пытаюсь прочитать байты, которые у меня есть в массиве, и если я использую объект PrintWriter, на экране ничего не печатается, однако, используя System. out.println() работает отлично. Зачем?Печать целого числа с использованием printwriter vs System.out.print
Вот что мой код выглядит следующим образом:
private static void readByteArray(byte[] bytes) {
ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
PrintWriter pw = new PrintWriter(System.out);
int c;
while((c = bais.read()) != -1) {
pw.print(c);
}
Этот код не работает, но если я это сделать:
private static void readByteArray(byte[] bytes) {
ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
PrintWriter pw = new PrintWriter(System.out);
int c;
while((c = bais.read()) != -1) {
System.out.println(c);
}
Он печатает.
В чем разница? В соответствии с этим http://docs.oracle.com/javase/7/docs/api/java/io/PrintWriter.html метод PrintWriter print(int i)
печатает целое число, поэтому я запутался.
Флеш флеш флеш! –
Вы пытались использовать 'pw.println' вместо' print' в своей первой функции? – dasblinkenlight
Посмотрите на это сообщение: http://stackoverflow.com/questions/9927281/how-to-use-flush-for-printwriter – 735Tesla