Я с Java никогда не работал, могу фигню сморозить, но если погуглить используемые классы многое становиться понятно. InputStream - класс для чтения потока данных System.in - Стандартный поток ввода (клавиатура) InputStreamReader - преобразует побайтный поток InputStream в символьный BufferedReader - считывает текст из символьного потока ввода, буферизируя прочитанные символы Вот даже небольшой примерчик нарыл читаем с клавиатуры построчно и пишем в файл: import java.io.*; public class StreamApp { public static void main(String[] args) { try(BufferedReader br = new BufferedReader (new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new FileWriter("D:
otes5.txt"))) { // чтение построчно String text; while(!(text=br.readLine()).equals("ESC")){ bw.write(text + " "); bw.flush(); } } catch(IOException ex){ System.out.println(ex.getMessage()); } } }
Не очень понятно, что тебе непонятно... Тебя пугает сложность конструкций? Ну так дело тут в том, что Java создавался не столько из практической надобности, сколько из желания сделать нечто, что в полной мере бы отвечало объектной модели и не имело бы модульных рудиментов. Поэтому решили делать ввод-вывод исключительно через потоки и буферы - так оно якобы научнее выглядит.