Seite 1 von 2 12 Letzte
  1. #1
    Avatar von aquastar
    Registriert seit
    08.11.2011
    Beiträge
    1.024
    Thanked 1.112 Times in 581 Posts

    Standard jTextArea in .txt speichern

    Hallo!

    Folgendes Problem:
    Ich möchte meine komplette jTextArea, welche bereits Text beinhaltet, in eine .txt speichern und dessen Pfad selbst auswählen.

    Folgenden Code habe ich bisher:

    Code:
                File file = new File("Nick.txt");
                JFileChooser fc = new JFileChooser();
                fc.showSaveDialog(null);
                file = fc.getSelectedFile();
                BufferedWriter bw = new BufferedWriter(new FileWriter(file));
                bw.write(jTextArea1.getText());
    Aber das scheint nicht zu funktionieren, er speichert mir zwar eine Datei am ausgewählten Pfad, jedoch ohne Textinhalt.
    Was mache ich falsch?

    Danke im Voraus und Gruß,
    aquastar

  2. #2
    Avatar von Roxithro
    Registriert seit
    19.11.2011
    Beiträge
    1.126
    Thanked 1.181 Times in 864 Posts

    Standard AW: jTextArea in .txt speichern

    Ich kenne mich damit zwar nicht aus, aber vll. hilft es ja die Textdatei als .bat (Batch) Datei zu speichern?

  3. #3
    Avatar von aquastar
    Registriert seit
    08.11.2011
    Beiträge
    1.024
    Thanked 1.112 Times in 581 Posts

    Standard AW: jTextArea in .txt speichern

    Nein, sie soll schon als .txt gespeichert werden.

  4. #4
    Avatar von patlux
    Registriert seit
    26.10.2011
    Beiträge
    1.196
    Thanked 1.598 Times in 726 Posts
    Blog Entries
    2

    Standard AW: jTextArea in .txt speichern

    Es fehlt ein
    Code:
    bw.flush();
    am Ende.

  5. The Following User Says Thank You to patlux For This Useful Post:

    aquastar (05.10.2012)

  6. #5
    Avatar von aquastar
    Registriert seit
    08.11.2011
    Beiträge
    1.024
    Thanked 1.112 Times in 581 Posts

    Standard AW: jTextArea in .txt speichern

    Ok, danke Patrick, so funktioniert es schonmal, dass der Text drinne steht.
    Nun habe ich noch folgendes Problem:
    Meine jTextArea sieht z.B so aus:
    Text1
    Text2
    Text3
    In der Text datei steht es nun aber so:
    Text1 Text2 Text3
    Also alles nebeneinander. Wie sorge ich dafür, dass sie untereinander stehen?

  7. #6
    Avatar von Snees
    Registriert seit
    18.11.2011
    Beiträge
    1.001
    Thanked 592 Times in 319 Posts

    Standard AW: jTextArea in .txt speichern

    Ich kenne mich mit Java nicht aus, aber wie wäre es mit einem \n am Ende jeder Zeile?

  8. #7
    Avatar von aquastar
    Registriert seit
    08.11.2011
    Beiträge
    1.024
    Thanked 1.112 Times in 581 Posts

    Standard AW: jTextArea in .txt speichern

    Das ist mir bewusst, ich frage mich nur gerade, wie es hineinfüge, da ich ja quasi den kompletten Text aus dem jTextArea hole und nicht jede einzelne Zeile. Ich könnte aber jede Zeile einzelnd holen und dann mit 'nem \n machen. Das sollte auch gehen.

    _________________________

    Hab nun das hier:

    Code:
                if (jTextArea1.getText().length() == 0) {
                    JOptionPane.showMessageDialog(null, "Dein TextArea beinhaltet kein Text", "Fehler!", JOptionPane.ERROR_MESSAGE);
                } else {
                    String[] lines = jTextArea1.getText().split(System.getProperty("line.seperator"));
                    File file = new File("Nick.txt");
                    JFileChooser fc = new JFileChooser();
                    fc.showSaveDialog(null);
                    file = fc.getSelectedFile();
                    BufferedWriter bw = new BufferedWriter(new FileWriter(file));
                    for(int i = 0; i < lines.length; i++){
                        bw.write(lines[i]);
                        bw.newLine();
                    }
                    bw.flush();
                    bw.close();
    Aber ich bekomme eine Exception:

    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    Ich hab keine Ahnung, woran es liegt. Hat jemand eine Idee? :/

  9. #8
    Avatar von uncopyable
    Registriert seit
    19.11.2011
    Beiträge
    282
    Thanked 235 Times in 120 Posts

    Standard AW: jTextArea in .txt speichern

    Du hast bei
    Code:
    fc.showSaveDialog(null);
    null angegeben daher der Fehler.

    So müsste es gehen
    Code:
                  if (jTextArea1.getText().length() == 0) {
                            
                      JOptionPane.showMessageDialog(null, "Dein TextArea beinhaltet kein Text", "Fehler!", JOptionPane.ERROR_MESSAGE);                
     }else {
                        try {
                            String[] lines = jTextArea1.getText().split("\n");
                            JFileChooser fc = new JFileChooser();
                            fc.showSaveDialog(jTextArea1);
                            File file = fc.getSelectedFile();
                            
                            FileWriter writer = new FileWriter(file, false);
                            
                            for (int i = 0; i < lines.length; i++){
                                writer.write(lines[i] + "\n" );
                            }
                 
                            writer.flush();
                 
                            writer.close();
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }
    Geändert von uncopyable (05.10.2012 um 17:03 Uhr)


    while( behappy() ) { code(); }

  10. The Following User Says Thank You to uncopyable For This Useful Post:

    aquastar (05.10.2012)

  11. #9
    Avatar von aquastar
    Registriert seit
    08.11.2011
    Beiträge
    1.024
    Thanked 1.112 Times in 581 Posts

    Standard AW: jTextArea in .txt speichern

    Code:
              try {
            if (jTextArea1.getText().length() == 0) {
                JOptionPane.showMessageDialog(null, "Dein TextArea beinhaltet kein Text", "Fehler!", JOptionPane.ERROR_MESSAGE);
            } else {
      
                    String[] lines = jTextArea1.getText().split(System.getProperty("line.seperator"));
                    File file = new File("Nick.txt");
                    JFileChooser fc = new JFileChooser();
                    fc.showSaveDialog(jTextArea1);
                    file = fc.getSelectedFile();
                    FileWriter writer = new FileWriter(file);
                    for (int i = 0; i < lines.length; i++) {
                        writer.write(lines[i] + (System.getProperty("line.seperator")));
                    }
                    writer.flush();
                    writer.close();
                }
            } 
        catch (IOException ex) { ex.printStackTrace(); }
    So hab ich das nun, und dennoch kommt die NullPointerException. Wo ist eigentlich der Unterschied, wenn ich beim openSaveDialog null oder jTextArea1 schreibe?
    Wie dem auch sei, bisher bleibt der Fehler leider bestehen.

  12. #10
    Avatar von uncopyable
    Registriert seit
    19.11.2011
    Beiträge
    282
    Thanked 235 Times in 120 Posts

    Standard AW: jTextArea in .txt speichern

    Hab es mal schnell selbst ausprobiert und bei mit geht es

    Meine Code:
    Code:
    import java.awt.BorderLayout;
    
    
    public class test extends JFrame {
    
        private JPanel contentPane;
    
        /**
         * Launch the application.
         */
        public static void main(String[] args) {
            EventQueue.invokeLater(new Runnable() {
                public void run() {
                    try {
                        test frame = new test();
                        frame.setVisible(true);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            });
        }
    
        /**
         * Create the frame.
         */
        public test() {
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setBounds(100, 100, 450, 300);
            contentPane = new JPanel();
            contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
            contentPane.setLayout(new BorderLayout(0, 0));
            setContentPane(contentPane);
    
            
            final JTextPane jTextArea1 = new JTextPane();
            contentPane.add(jTextArea1, BorderLayout.CENTER);
            
            JButton btnNewButton = new JButton("New button");
            
            
            contentPane.add(btnNewButton, BorderLayout.NORTH);
            
            btnNewButton.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent arg0) {
                    if (jTextArea1.getText().length() == 0) {
                            new JOptionPane().showMessageDialog(null, "Dein TextArea beinhaltet kein Text", "Fehler!", JOptionPane.ERROR_MESSAGE);
                    }else {
                        try {
                            String[] lines = jTextArea1.getText().split("\n");
                            JFileChooser fc = new JFileChooser();
                            fc.showSaveDialog(jTextArea1);
                            File file = fc.getSelectedFile();
                            
                            FileWriter writer = new FileWriter(file, false);
                            
                            for (int i = 0; i < lines.length; i++){
                                writer.write(lines[i] + "\n" );
                            }
                 
                            writer.flush();
                 
                            writer.close();
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }     
                    
                }
            });
    
        }
    
    }

    showSaveDialog erfordert ein component und kann eigentlich nicht null sein.

    Kannst mir mal die Zeile geben wo der Fehler auftritt?


    while( behappy() ) { code(); }

Seite 1 von 2 12 Letzte

Ähnliche Themen

  1. Online texte speichern für immer?
    Von ElkosMED im Forum Webmaster
    Antworten: 2
    Letzter Beitrag: 01.03.2014, 22:31
  2. VB.Net Fortschritt speichern?
    Von x BoooM x im Forum .Net
    Antworten: 4
    Letzter Beitrag: 10.03.2013, 16:57
  3. C# Logindaten speichern
    Von Saad im Forum .Net
    Antworten: 12
    Letzter Beitrag: 26.10.2012, 15:20
  4. VB.Net Seitenquelltext in in Textdatei speichern
    Von rVs14 im Forum .Net
    Antworten: 5
    Letzter Beitrag: 03.04.2012, 13:17
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.