gpt4 book ai didi

java - 写入文件但在退出时删除?

转载 作者:行者123 更新时间:2023-12-02 06:21:10 25 4
gpt4 key购买 nike

我正在尝试在文件中写入一些数据,它写道。但是在重新启动时,它会删除所有内容,然后重新写入。无法找出问题所在。

而且我还找到了一个类似“deleteOnClose”的文件方法,但它没有被设置!所以默认情况下它不应该这样做。

提前感谢您的帮助。

代码如下:

主要:

 public static void class main {

public main(String args[]){

menu_secim secimObject=new menu_secim();
}
}

menu_secim:

 public class menu_secim extends JFrame{

private JButton ekle;
private JButton goster;

public menu_secim() {

super("Karar Anı");
this.setLayout(new FlowLayout());
this.setVisible(true);
this.setSize(350, 150);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocation(500,300);


ekle=new JButton("Ekle");
this.getContentPane().add(ekle);

goster=new JButton("Göster");
this.getContentPane().add(goster);

ekle.setBounds(20,20, 100,60);
goster.setBounds(120, 20, 100, 60);

butonHareketleri buton=new butonHareketleri();
ekle.addActionListener(buton);
goster.addActionListener(buton);

}
private class butonHareketleri implements ActionListener{

public void actionPerformed(ActionEvent e){

if(e.getSource()==ekle)
try
{
new secim_ekle();
}
catch(Exception h)
{
System.out.print("hata var");
}
}
}
}

secim_ekle:

public class secim_ekle extends JFrame {

private JButton ekle;

private JLabel dizi_isim;
private JLabel dizi_puan;
private JLabel kaydet;

private JTextField dizi_isim_fd;
private JTextField dizi_puan_fd;

File dosya=new File("dizi_listesi.txt");

public secim_ekle() throws IOException{


super("Ekleme işlemi");
this.getContentPane().setLayout(null);
this.setVisible(true);
this.setSize(500, 150);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocation(500,300);

final BufferedWriter yazici=new BufferedWriter(new FileWriter(dosya));
final BufferedReader okuyucu=new BufferedReader(new FileReader(dosya));

final Formatter yaz=new Formatter(dosya);
final Scanner oku=new Scanner(dosya);

ekle=new JButton("Ekle");
this.getContentPane().add(ekle);

dizi_isim=new JLabel("Dizi ismi :");
this.getContentPane().add(dizi_isim);

dizi_puan=new JLabel("Dizi puan :");
this.getContentPane().add(dizi_puan);

kaydet=new JLabel("Veriler Kaydedildi!");
kaydet.setVisible(false);
kaydet.setForeground(Color.RED);
this.getContentPane().add(kaydet);

dizi_isim_fd=new JTextField();
this.getContentPane().add(dizi_isim_fd);

dizi_puan_fd=new JTextField();
this.getContentPane().add(dizi_puan_fd);

dizi_isim.setBounds(10, 10, 100, 20);
dizi_puan.setBounds(10,40,100,20);
dizi_isim_fd.setBounds(120,10,200,20);
dizi_puan_fd.setBounds(120,40,50,20);
ekle.setBounds(350,10,100,20);
kaydet.setBounds(350, 40, 200, 40);

ekle.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){

if(e.getSource()==ekle){
try{
yazici.write(dizi_isim_fd.getText()+"|"+dizi_puan_fd.getText());
yazici.newLine();
yazici.close();
kaydet.setVisible(true);
}
catch(Exception h)
{
System.out.print(h.getMessage());
}
}

}
});

}
}

最佳答案

在这里添加一个true

final BufferedWriter yazici=new BufferedWriter(new FileWriter(dosya, true));

指定您要附加到文件(这里是 doc )。

关于java - 写入文件但在退出时删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9318686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com