我正在尝试制作文本编辑器,但我无法将内容保存到文本文件中:文件已创建但为空。
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();
}
}
}
JTextArea代码
area = new JTextArea(tekst1, 30,30);
tekst1 = area.getText();
请帮帮我。最好的问候
答案 0 :(得分:1)
问题是你需要致电tekst1 = area.getText();
再次使用actionPerformed
方法更新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();
}
}
}
答案 1 :(得分:0)
bw.write(tekst1);
此行将内容写入文件
你很接近,你写的字符串只是空的,所以没有任何东西写入文件是正常的。
一些例子:
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/
答案 2 :(得分:0)
仅包含此代码:--- file.createNewFile(); 在你的if语句中,将其他内容放在if。
之外