Почему этот код не работает, если я не раскомментирую строку System.out.print(" ");
?Не удается передать экземпляр System.out должным образом FilterOutputStream
3 случая:
System.out.print(" ");
послеoutprint.write(var);
Результаты в:h e l l o w o r l
System.out.print(" ");
доoutprint.write(var);
результатов в:h e l l o w o r l d
- без
System.out.print(" ");
ничего не отображается
Подводя итог, я передать экземпляр System.out
(который является PrintStream
) к атрибуту out
объекта FilterOutputStream
(который принимает OutputStream
).
import java.io.FilterOutputStream;
import java.io.IOException;
public class CodeCesar {
public static void main(String[] args) {
FilterOutputStream outputstream = new FilterOutputStream(System.out);
String line = "hello world";
char[] lst_char = line.toCharArray();
for (char var : lst_char) {
try {
outputstream.write(var);
System.out.print(" "); <--------- THIS LINE
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
Нужно ли вам промывать outpustream после того, как вы напишете на него? – LiverpoolFTW