2015-04-16 1 views
-1

J'essaie de créer un éditeur de texte, mais je n'arrive pas à enregistrer le contenu dans un fichier texte: le fichier est créé mais vide.BufferedWriter n'écrit pas dans un fichier

class Saver implements ActionListener{ 
    public void actionPerformed(ActionEvent e){ 

      try{ 
     File file = new File("projekat"); 
     if(!file.exists()){ 
     file.createNewFile(); 

     FileWriter fw = new FileWriter(file.getAbsoluteFile()); 
     BufferedWriter bw = new BufferedWriter(fw); 
     bw.write(tekst1); 
     bw.close(); 
     } 
      } 
      catch(IOException ex){ 
       ex.printStackTrace(); 
      } 
    } 

} 

Code JTextArea

area = new JTextArea(tekst1, 30,30); 
    tekst1 = area.getText(); 

S'il vous plaît aidez-moi. Cordialement

+3

Qu'est-ce que 'tekst1'? – Dici

+0

'tekst1' est vide Chaîne. – Djehenghizz

+1

@Djehenghizz Maintenant que le tekst1 est vide, tout ce qui écrit dans le fichier est vide. Donc c'est normal. Huh? – Turtle

Répondre

1

Le problème est que vous devez appeler tekst1 = area.getText(); à nouveau dans votre méthode actionPerformed de mettre à jour le contenu de tekst1.

class Saver implements ActionListener { 
    public void actionPerformed(ActionEvent e) { 

     try { 
      File file = new File("projekat"); 
      if (!file.exists()) { 
       file.createNewFile(); 

       FileWriter fw = new FileWriter(file.getAbsoluteFile()); 
       BufferedWriter bw = new BufferedWriter(fw); 

       // get latest contents of the JTextArea 
       tekst1 = area.getText(); 

       bw.write(tekst1); 
       bw.close(); 
      } 
     } catch (IOException ex) { 
      ex.printStackTrace(); 
     } 
    } 

} 
0

bw.write (tekst1);
cette ligne écrit le contenu dans le fichier.
vous étiez proche, la chaîne que vous écrivez est juste vide, il est donc normal que rien n'écrive dans le fichier.

Quelques exemples:
http://www.mkyong.com/java/how-to-write-to-file-in-java-bufferedwriter-example/
http://www.tutorialspoint.com/java/io/bufferedwriter_write_string.htm
http://beginnersbook.com/2014/01/how-to-write-to-file-in-java-using-bufferedwriter/

+0

Mais je devrais 'getText()' de JTextArea, ne devrais-je pas? – Djehenghizz

0

ne comprennent que ce code: --- file.createNewFile(); dans votre instruction if et placez d'autres éléments sur votre if.

+0

Le fichier est créé dans le dossier du projet, donc je pense qu'il n'est pas nécessaire de définir le chemin. – Djehenghizz

+0

sry je n'ai pas vérifié le fichier créé ... essayez ceci ans. – user3343658