aquastar (05.10.2012)
Thema: jTextArea in .txt speichern
-
05.10.2012, 13:55 #1
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());
Was mache ich falsch?
Danke im Voraus und Gruß,
aquastar
-
05.10.2012, 13:56 #2
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?
-
05.10.2012, 13:59 #3
AW: jTextArea in .txt speichern
Nein, sie soll schon als .txt gespeichert werden.
-
05.10.2012, 14:21 #4
- Registriert seit
- 26.10.2011
- Beiträge
- 1.196
- Blog Entries
- 2
Thanked 1.598 Times in 726 PostsAW: jTextArea in .txt speichern
Es fehlt ein
Code:bw.flush();
-
The Following User Says Thank You to patlux For This Useful Post:
-
05.10.2012, 14:27 #5
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
Text1 Text2 Text3
-
05.10.2012, 15:41 #6
AW: jTextArea in .txt speichern
Ich kenne mich mit Java nicht aus, aber wie wäre es mit einem \n am Ende jeder Zeile?
-
05.10.2012, 16:36 #7
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();
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
-
05.10.2012, 17:00 #8
AW: jTextArea in .txt speichern
Du hast bei
Code:fc.showSaveDialog(null);
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(); }
-
The Following User Says Thank You to uncopyable For This Useful Post:
aquastar (05.10.2012)
-
05.10.2012, 17:09 #9
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(); }
Wie dem auch sei, bisher bleibt der Fehler leider bestehen.
-
05.10.2012, 17:17 #10
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(); }
Ähnliche Themen
-
Online texte speichern für immer?
Von ElkosMED im Forum WebmasterAntworten: 2Letzter Beitrag: 01.03.2014, 22:31 -
VB.Net Fortschritt speichern?
Von x BoooM x im Forum .NetAntworten: 4Letzter Beitrag: 10.03.2013, 16:57 -
C# Logindaten speichern
Von Saad im Forum .NetAntworten: 12Letzter Beitrag: 26.10.2012, 15:20 -
VB.Net Seitenquelltext in in Textdatei speichern
Von rVs14 im Forum .NetAntworten: 5Letzter Beitrag: 03.04.2012, 13:17
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.