package com.javarush.task.task19.task1915;
import java.io.*;
/*
Дублируем текст
*/
public class Solution {
public static TestString testString = new TestString();
public static void main(String[] args) throws IOException {
PrintStream consoleStream = System.out;
// сохраняем System.out в свою переменную consoleStream
String nameFile;
try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) {
//открываем чтение с консоли
nameFile = reader.readLine();
}
//сохраняем имя файла в стринг
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
//создаём массив из битов " он естественно пуст"
PrintStream ps = new PrintStream(outputStream);
// запихиваем массив в переменую типа PrintStream
System.setOut(ps);
// переопределяем System.out, для записи в наш файл вместо консоли
testString.printSomething();
// пишем в массив
String string = outputStream.toString();
FileOutputStream output= new FileOutputStream(nameFile);
// открываем поток для записи в фаил
output.write(outputStream.toByteArray());
//пишем в фаил
System.setOut(consoleStream);
// переопределяем System.out обратно
System.out.println(string);
// выводим в консоль данные из массива
output.close();
}
public static class TestString {
public void printSomething() {
System.out.println("it's a text for testing");
}
}
}
вроде бы уже все расписал, Но в консоль не выводитpackage com.javarush.task.task19.task1915;
import java.io.*;
/*
Дублируем текст
*/
public class Solution {
public static TestString testString = new TestString();
public static void main(String[] args) throws IOException {
PrintStream consoleStream = System.out;
// сохраняем System.out в свою переменную consoleStream
String nameFile;
try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) {
//открываем чтение с консоли
nameFile = reader.readLine();
}
//сохраняем имя файла в стринг
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
//создаём массив из битов " он естественно пуст"
String string = outputStream.toString();
PrintStream ps = new PrintStream(outputStream);
// запихиваем массив в переменую типа PrintStream
System.setOut(ps);
// переопределяем System.out, для записи в наш файл вместо консоли
testString.printSomething();
// пишем в массив
FileOutputStream output= new FileOutputStream(nameFile);
// открываем поток для записи в фаил
output.write(outputStream.toByteArray());
//пишем в фаил
System.setOut(consoleStream);
System.out.println(string);
// ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
// PrintStream stream = new PrintStream(outputStream);
// System.setOut(stream);
// testString.printSomething();
//
//
// String rez = outputStream.toString().toUpperCase();
//
// System.setOut(consoleStream);
//
//
//
// System.out.println(rez);
output.close();
}
public static class TestString {
public void printSomething() {
System.out.println("it's a text for testing");
}
}
}