Advertisement
jaVer404

level19.lesson08.task01 (done) 1 attempt

Feb 22nd, 2016
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.91 KB | None | 0 0
  1. package com.javarush.test.level19.lesson08.task01;
  2.  
  3. /* Ридер обертка
  4. В методе main подмените объект System.out написанной вами ридер-оберткой по аналогии с лекцией
  5. Ваша ридер-обертка должна преобразовывать весь текст в заглавные буквы
  6.  
  7. 1.Вызовите готовый метод printSomething(), воспользуйтесь testString
  8.  
  9. 2.Верните переменной System.out первоначальный поток.
  10. 3. Вывести модифицированную строку в консоль.
  11. */
  12.  
  13. import java.io.ByteArrayOutputStream;
  14. import java.io.PrintStream;
  15.  
  16. public class Solution {
  17.     public static TestString testString = new TestString();
  18.  
  19.  
  20.     public static void main(String[] args) {
  21.         PrintStream originalOut = System.out;//сохраняем оригинальный System.out
  22.         ByteArrayOutputStream bAOS = new ByteArrayOutputStream();//создаем динам. массив
  23.         PrintStream stream = new PrintStream(bAOS);//создаем адаптер к классу PrintStream
  24.         System.setOut(stream);//устанавливаем адаптер как текущий out
  25.                                 //теперь печатает в bAOS
  26.         testString.printSomething();//out добавляет строки в bAOS
  27.         String result = (bAOS.toString()).toUpperCase();//переводим bAOS в String и UpperCase
  28.         System.setOut(originalOut);//возвращаем оригинальный out (на консоль)
  29.         System.out.println(result);//выводим в консоль (то, что result получил из bAOS)
  30.     }
  31.  
  32.     public static class TestString {
  33.         public void printSomething() {
  34.             System.out.println("it's a text for testing");
  35.         }
  36.     }
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement