Mam nadzieje, że kod jest czytelny (zrozumiały).
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
/*
Zapisywanie do pliku z konsoli
*/
public class Main {
private static final String ANSI_GREEN = "\u001B[32m";
private static final String EMPTY_STRING = "";
public static void main(String[] args) {
FileWriter fw = null;
String f_name = "app.log";
try {
fw = new FileWriter(f_name);
} catch (IOException e) {
e.printStackTrace();
}
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(fw);
String r_line = EMPTY_STRING;
clearCmdScreen();
System.out.println("");
System.out.println("Wprowadź tekst:");
System.out.println("");
try {
while(!"exit".equals(r_line)) {
r_line = br.readLine();
bw.write(r_line);
bw.newLine();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
System.out.println("");
System.out.println("Koniec wczytywania danych.");
}
try {
bw.close();
fw.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
System.out.print("Dane zostały zapisane do pliku: ");
System.out.print(ANSI_GREEN);
System.out.print(f_name + "\n");
System.out.println("");
}
}
public static void clearCmdScreen() {
System.out.print("\033[H\033[2J");
System.out.flush();
}
}
Do przetestowania on-line - tutaj,
(clearCmdScreen() , Clear command line console, druga odpowiedź od góry)
Inne kolory do użycia w konsoli:
public static final String ANSI_RESET = "\u001B[0m";
public static final String ANSI_BLACK = "\u001B[30m";
public static final String ANSI_RED = "\u001B[31m";
public static final String ANSI_GREEN = "\u001B[32m";
public static final String ANSI_YELLOW = "\u001B[33m";
public static final String ANSI_BLUE = "\u001B[34m";
public static final String ANSI_PURPLE = "\u001B[35m";
public static final String ANSI_CYAN = "\u001B[36m";
public static final String ANSI_WHITE = "\u001B[37m";
How to print color in console using System.out.println?
app.log
(po wpisaniu linia po linii tekstu i zakończenia pisania poleceniem exit.)
Litwo, Ojczyzno moja! ty jesteś jak zdrowie
Ile cię trzeba cenić, ten tylko się dowie,
Kto cię stracił. Dziś piękność twą w całej ozdobie
Widzę i opisuję, bo tęsknię po tobie.
exit