Brak zapisanych danych w pliku za pomoca BufferedWriter

Brak zapisanych danych w pliku za pomoca BufferedWriter
KV
  • Rejestracja:ponad 8 lat
  • Ostatnio:prawie 7 lat
  • Postów:59
0

Hej,

Może mi ktoś powiedzieć dlaczego po wpisaniu takiego kodu nic się nie zapisuje do pliku?

Kopiuj
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

public class ZapisDoPliku
{

	public static void main(String[] args) throws IOException
	{

		String z1 = "1. Posprzątać";
		String z2 = "2. Nauczyć się wyjątków";
		String z3 = "3. Zrobić obiad";
	
		File file = new File("/home/nickname/Lista_Zadań_Do_Zrobienia.txt");
		FileWriter fileWriter = new FileWriter(file);
		BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);

		bufferedWriter.write(z1);
		bufferedWriter.write(z2);
		bufferedWriter.write(z3);

	}

}

Pozdrawiam

jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 5 godzin
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4707
2

a gdzie close sie podziało?


jeden i pół terabajta powinno wystarczyć każdemu
edytowany 1x, ostatnio: jarekr000000
KV
  • Rejestracja:ponad 8 lat
  • Ostatnio:prawie 7 lat
  • Postów:59
0

Aha, nie wiedziałem, że bez tego nie da się nic zapisać.
Dzięki.

Haskell
  • Rejestracja:prawie 10 lat
  • Ostatnio:12 miesięcy
  • Postów:4700
1

Możesz też zapisywać w ten sposób:

Kopiuj
Path path = Paths.get("/home/nickname/Lista_Zadań_Do_Zrobienia.txt");
try (BufferedWriter writer = Files.newBufferedWriter(path)) {
    writer.write("print('Hello World');");
}

Zaglądali do kufrów, zaglądali do waliz, nie zajrzeli do d**y - tam miałem socjalizm. Czesław Miłosz
KV
  • Rejestracja:ponad 8 lat
  • Ostatnio:prawie 7 lat
  • Postów:59
0

Dzięki Haskell, dobra wskazówka.

0

A czy close() nie powinno ladowac w bloku finally?

Haskell
  • Rejestracja:prawie 10 lat
  • Ostatnio:12 miesięcy
  • Postów:4700
1

W Javie 7+ umieszczając BufferedWriter w try-with-resources nie ma konieczności używania close. Jest to wytłumaczone w dokumentacji. Dokładnie chodzi o to, że BufferedWriter od Javy 7+ implementuje java.lang.AutoCloseable, a jego umieszczenie w try-with-resources sprawia, że się zamknie bez względu na wykonanie z błędem lub bez.


Zaglądali do kufrów, zaglądali do waliz, nie zajrzeli do d**y - tam miałem socjalizm. Czesław Miłosz
edytowany 1x, ostatnio: Haskell

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.