JAVA. ЛЕКЦИЯ. 19.07. READER — ОБЁРТКА SYSTEM.OUT.

public static void main(String[] args) throws Exception { //запоминаем настоящий PrintStream в специальную переменную PrintStream consoleStream = System.out; //Создаем динамический массив ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); //создаем адаптер к классу PrintStream PrintStream stream = new PrintStream(outputStream); //Устанавливаем его как текущий System.out System.setOut(stream); //Вызываем функцию, которая ничего не знает о наших манипуляциях printSomething(); //Преобразовываем записанные в [...]

By | Январь 8th, 2017|Categories: Лекции, Уровень 19|Tags: , |0 Comments

JAVA. ЛЕКЦИЯ. 19.04. FILEWRITER/FILEREADER.

public static void main(String[] args) throws Exception { FileReader reader = new FileReader("c:/data.txt"); FileWriter writer = new FileWriter("c:/result.txt"); while (reader.ready()) //пока есть непрочитанные байты в потоке ввода { int data = reader.read(); //читаем один символ (char будет расширен до int) writer.write(data); //пишем один символ (int будет обрезан/сужен до char) } //закрываем потоки после использования reader.close(); [...]

By | Январь 8th, 2017|Categories: Лекции, Уровень 19|Tags: , |0 Comments

JAVA. ЛЕКЦИЯ. 19.02. READER/WRITER.

Код Описание int read(char[] cbuf); - метод сразу читает много символов в буфер (массив символов), пока буфер не заполнится или не закончатся символы там, откуда он их читает. Метод возвращает количество реально прочитанных символов (оно может быть меньше длины массива) int read(); - метод читает один символ и возвращает его как результат. Результат расширяется до int, для красоты. Если доступных символов нет, [...]

By | Январь 8th, 2017|Categories: Лекции, Уровень 19|Tags: , |0 Comments

JAVA. ЛЕКЦИЯ 19.01. АДАПТЕРЫ.

Это схематическое описание «паттерна проектирования адаптер». Суть его в том, что класс MyClass является преобразователем (адаптером) одного интерфейса к другому. class MyClass implements Interface2 { private Interface1 object; MyClass(Interface1 object) { this.object = object; } // тут располагаются методы Interface2, // которые вызывают методы Interface1 } Код из первого(Alpha) фреймворка. AlphaList – это один из интерфейсов, [...]

By | Январь 8th, 2017|Categories: Лекции, Уровень 19|Tags: |0 Comments

JAVA. ЛЕКЦИЯ. КОНСОЛЬНЫЙ ВВОД/ВЫВОД. SCANNER.

Для получения данных, введенных пользователем, а также для вывода сообщений нам необходим ряд классов, через которые мы сможем взаимодействовать с консолью. Частично их использование уже рассматривалось в предыдущих темах. Для взаимодействия с консолью нам необходим класс System. Этот класс располагается в пакете java.lang, который автоматически подключается в программу, поэтому нам не надо дополнительно импортировать данный пакет и [...]

By | Июль 28th, 2016|Categories: Java, Лекции|Tags: , |0 Comments

JAVA. ЛЕКЦИЯ 08.02. КОЛЛЕКЦИИ. ИТЕРАТОРЫ. ИНТЕРФЕЙСЫ. FOR EACH. SET, LIST, MAP.

ВЫВОД НА ЭКРАН ЭЛЕМЕНТОВ SET. public static void main(String[] args) { Set<String> set = new HashSet<String>(); set.add("Mama"); set.add("Mila"); set.add("Ramu"); //получение итератора для множества Iterator<String> iterator = set.iterator(); while (iterator.hasNext()) //проверка, есть ли ещё элементы { //получение текущего элемента и переход на следующий String text = iterator.next(); System.out.println(text); } }  ВЫВОД НА ЭКРАН ЭЛЕМЕНТОВ LIST. public [...]

By | Июнь 29th, 2016|Categories: Java, Лекции, Уровень 08|Tags: , , |0 Comments