Witam,
czy istnieje jakiś sposób aby przeładować metodę println (System.out.println())? Chodzi mo o to aby zamiast standardowego wypisania parametru na ekran dodatkowo zapisywać go do pliku?
A nie prościej napisać funkcję
void zapisz(String msg,File f)
{
System.out.println(msg);
//zapis msg do pliku f
}
A najprosciej chyba wykorzystac metode System.setOut() i podac swoj strumien np plikowy.
@Pikseloza, chyba nie. Autor wątku chce pisać na ekran i do pliku. Twój sposób wymaga chyba przy każdym zapisaniu czegoś takiego:
System.setOut(mojUlubionyOut);
System.out.println(msg);
System.setOut(standardowyOut);
System.out.println(msg);
A najlepiej wykorzystywać w tym celu pakiet java.util.logging.Logger lub korzystać z zewnętrznej biblioteki Log4J. Metodą addAppender loggera można dodawać wyjścia tekstu wyporwadzanego pojedynczym wywolaniem metody log.
Dzięki wielkie za rady. @bogdans wybiorę Twój sposób.
@bogdans
Fakt, przeoczylem to ze ma byc pisane i na ekran i do pliku. Twoj sposob da rade najlatwiej.
Może systemowy out podmienić swoim własnym, który przekazuje dane do "oryginalnego" outstreama i do outstreama pliku...
[to tak jeśli masz już dość dużo wywołań System.out.println() w programie i nie chce Ci się ich wszystkich zmieniać]