2016-04-08 23 views
0

Şu anda bir oyun üzerinde çalışıyorum ve kaydetme dosyaları üzerine yazarken zor bir zaman geçiriyorum. Bir dosyayı nasıl temizlediğimi ve daha sonra yeniden yazmayı gördüm, ancak dosyanın üzerine yazabilme özelliğine sahip bir şey isterim. BufferedWriter ve FileWriter kütüphanelerini kullanıyorum. İşte kod kullanıyorum:Dosyaları BufferedWriter ve FileWriter kitaplıklarıyla yeniden yazma

System.out.println("Congratulations! You beat the first maze! Thanks for playing!\nBefore you go, please answer this one question."); 
    System.out.println("Please enter a color of the following choices.\nBlack, Navy, Dark Gray, Gray, Light Gray, Purple, Olive, Pink, White, or\nYellow."); 
    String fave = kb.nextLine(); 
    BufferedWriter writer = null; 
    try { 
     writer = new BufferedWriter(new FileWriter(newFile("colorchoice.txt"),true)); 
     writer.write(fave); 
    } catch (Exception ex) { 
     ex.printStackTrace(); 
    } finally { 
     try { 
      writer.close(); 
     } catch (Exception ex) { /*ignore*/ } 
    } 
    try { 
     writer.flush(); 
     writer.setLength(0); 
     writer = new BufferedWriter(new FileWriter(new File("save.txt"), true)); 
     writer.write(name); 
     writer.newLine(); 
     writer.write(choice4); 
     writer.newLine(); 
     if (choice == 1 || choice == 2) { 
      writer.write(gender2); 
      writer.newLine(); 
     } 
     writer.write(col); 
     writer.newLine(); 
     writer.write(dead2); 
     writer.newLine(); 
    } catch (Exception ex) { 
     ex.printStackTrace(); 
    } finally { 
     try { 
      writer.close(); 
     } catch (Exception ex) { /*ignore*/ } 
    } 
    System.exit(0); 

println açıklama yok sayarak, dosyanın üzerine yazmak ben BufferedWriter veya FileWriter yapabileceğiniz bir şey var mı? ya da çalışmak için üzerine yazmak için başka bir kütüphaneye ne tür ithalat yaptığımı değiştirmem gerekecek mi?

Herhangi bir yardım için teşekkür ederiz.

+0

['FileWriter 'yapıcısı] için ikinci parametre (https://docs.oracle.com/javase/7/docs/api/java/io/FileWriter.html#FileWriter (java.io.File,% 20boolean)) "append" dir. Dosyaya eklenecek olan 'true' olarak ayarladınız. –

cevap

0
writer = new BufferedWriter(new FileWriter(newFile("colorchoice.txt"),true)); 

append parametresinde false değiştirin true.