Nadpisywanie danych w pliku.

0

Witam, mam pytanie dlaczego moje dane w pliku wynikowym sa nadpisywane w pliku, poniżej umieszczam kod:


import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;


public class Pracownik {
	public static void main(String[] args) throws IOException, InterruptedException{
		Map<Integer,String> mapa = new TreeMap<Integer,String>();
		
		mapa.put(1, "Marcin B");
		mapa.put(2, "Maciej P");
		mapa.put(3, "Słon Takie");
		
		Odczytywanie o = new Odczytywanie();
		o.odczytaj(mapa, true, "Dane.txt");

		Scanner in = new Scanner(new File("Dane.txt"));
		while(in.hasNextLine()){
			String wejscie = in.nextLine();
			System.out.println(wejscie);
		}
	}
}

class Odczytywanie{
	public PrintWriter out=null;
	boolean b = true;
	public void odczytaj(Map<Integer, String> mapa, boolean b, String filename) throws InterruptedException {
	
		try{
		
			if(b){
				out = new PrintWriter(new FileWriter(filename),true );
			}
			else {
				out = new PrintWriter(new FileWriter(filename));
			}
			for(int i=1; i <mapa.size()+1; i++){
				out.println(i+" "+mapa.get(i));


			}
			out.flush();
		}
		catch(IOException e){
			e.printStackTrace();
			
		}
		finally{
			out.close();
		}
	}	
}
0

Bo tak sobie zażyczyłeś. Jeśli chcesz dopisywać, to zmień jeden wiersz na poniższy

out = new PrintWriter(new FileWriter(filename,true));
0

taka delikatna roznica :) teraz zauwazylem :)

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