Суть вопроса:
По идее нужно создать модуль, который будет в консоль и в файл записывать потоки вывода в форме <номер строки>: <содержание вывода>
В моем случае т.е.:
Я вроде бы концептуально примерно понимаю, что нужно сделать, но с реализацией встрял.
public class Main{
public static void main(String[] args) throws Exception {
System.out.print("Compute 1/2 ...");
System.out.println(" ; result: " + (1 / 2));
try {
int a = 27 / 0;
} catch (ArithmeticException err) {
System.out.println("Something goes wrong");
}
System.out.println("Done computing");
String directory = "D://Checknewfiles";
String fileNameForLog = "log.txt";
File file = new File(directory, fileNameForLog);
file.createNewFile();
System.setOut(new Logic(System.out));
}
}
class Logic extends PrintStream {
public Logic(OutputStream out) { //доделать
super(out);
}
public void print(String s) {
int count = 0;
for (int i = 0; i < count; ++i) {
count++;
print(count +": " + s);
}
}
}
Предположу, что переменную count
нужно объявить как поле класса, чтобы между вызывами метода print
его значение сохранялось.
class Logic extends PrintStream {
private PrintStream wrapper;
private int count;
public Logic(OutputStream out) {
super(out);
this.wrapper = new PrintStream(out);
}
@Override
public void print(String s) {
count++;
wrapper.print(count + ": " + s);
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как преобразовать объект класса LocalDateTime в секунды, и так чтобы поместилось в какой-то тип данных?
Подскажите пожалуйстаЕсть две точки экрана с целочисленными координатами, мне нужно построить диагональ между ними и по целочисленным координатам...
Не получается реализовать метод печати файлов екселя из java приложения, пробовал двумя способами: 1