Brak zapisanych danych w pliku za pomoca BufferedWriter

0

Hej,

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

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

2

a gdzie close sie podziało?

0

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

1

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

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

Dzięki Haskell, dobra wskazówka.

0

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

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.

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