Jak zapisać do pliku to, co zostało wyświetlone w konsoli?

0

Witam. Jestem początkującym, potrzebuje pomocy z zapisem do pliku tego co wyświetliło się w konsoli. Załóżmy, że pobieram scannerem tekst wklepany z klawiatury . Jak teraz zrobić aby zapisać do pliku to co wklepałem i to co zostało wyświetlone przy użyciu System.out.print ??

2

Z wiersza poleceń: program >plik_do_zapisu_wyników.txt

0

Tylko problem polega na tym, że musimy napisać program w NetBeansie i wykorzystać strumienie. I kompletnie nie wiem jak to robić. Znalazłem w google info o strumieniach FileOutputStream i FileWriter tylko nie bardzo wiem jak ich użyć.

0

Nie znam na NetBasie, ale jeśli bym miał to napisać w C/C++ to bym tak zrobił. Wczytujesz normalnie z głównego pliku, ale wypisywanie odbywa się za pomocą funkcji, która: -A) wypisuje na konsole, B) zapisuje do pliku, zapisywanie odbywa się w trybie dopisywania. Czyli apend.
Dlaczego funkcja? Ponieważ byłby kłopot z zakończeniem pętli, która by wywoływała ciąglę funkcję scan i funkcję przez nas napisaną.

0

Tak na szybko, mała pomoc:

 
FileOutputStream fop = null;
        File file;
	String content = "This is the text content";
        System.out.println(content);  // 
 
		try {
			file = new File("c:/newfile.txt");
			fop = new FileOutputStream(file);
 
			// jesli plik nie istnieje to go utworz
			if (!file.exists()) {
				file.createNewFile();
			}
 
			// tresc do bajtow
			byte[] contentInBytes = content.getBytes();
 
			fop.write(contentInBytes);
			fop.flush();
			fop.close();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				if (fop != null) {
					fop.close();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
		}

Powinno pomóc i nakreślić, jak to powinno wyglądać :)

0

To wystarczy jeśli chcesz pisać do pliku:

        try
        {
            System.setOut(new PrintStream(new File("log.txt")));
        }
        catch(Exception e)
        {
            System.out.println(e);
        }

Jeśli chcesz pisać na konsolę i do pliku, to musisz przełączać standardowe wyjście:

        PrintStream standard = System.out;
        PrintStream file = null;
        try
        {
            file = new PrintStream(new File("log.txt"));
            
        }
        catch(Exception e)
        {
            System.out.println(e);
        }
        System.setOut(file);
        System.out.println("abrakadabra");
        System.out.println(44);
        System.setOut(standard);
        System.out.println("abrakadabra");
        System.out.println(44);
        System.setOut(file);         
        System.out.println("abrakadabra");
        System.out.println(44);
        System.setOut(standard);
        System.out.println("abrakadabra");
        System.out.println(44);

1 użytkowników online, w tym zalogowanych: 0, gości: 1