java 如何使用 jframe 修改 txt 文件

How to modify a txt file using jframe in java

我将数据保存在 txt 文件中。我已将它们加载到我的一种表单中的 jtable 中,我希望能够使用 GUI 表单中的按钮编辑 txt 文件。 另外,如果你能告诉我为什么我在 jtable 中出现空行,那将非常有帮助。

    private void delbtnActionPerformed(java.awt.event.ActionEvent evt) {                                       
    
}                                      

private void modifybtnActionPerformed(java.awt.event.ActionEvent evt) {                                          
    // TODO add your handling code here:
}                                         

private void newpassActionPerformed(java.awt.event.ActionEvent evt) {                                        
    // TODO add your handling code here:
}                                       

private void newusernameActionPerformed(java.awt.event.ActionEvent evt) {                                            
    // TODO add your handling code here:
} 

这里是查看按钮代码

    private void viewbtnActionPerformed(java.awt.event.ActionEvent evt) {                                        
    
    try{
        BufferedReader br = new BufferedReader(new FileReader("logindata.txt"));
        String firstLine = br.readLine().trim();
        String[] columnsName = firstLine.split("/");
        DefaultTableModel model = (DefaultTableModel)datatable.getModel();
        model.setColumnIdentifiers(columnsName);
       
        Object[] tableLines = br.lines().toArray();
        
        for(int i = 0; i < tableLines.length; i++)
        {
            String line = tableLines[i].toString().trim();
            String[] dataRow = line.split(",");
            model.addRow(dataRow);
        }
    }
    catch(Exception ep){
        Logger.getLogger(people_info.class.getName()).log(Level.SEVERE, null, ep);
    }
} 

这是我在 txt 文件中保存数据的方法

    private void submitbtnActionPerformed(java.awt.event.ActionEvent evt) {                                          
    String user = usertxt.getText();
    String pass = passwordtxt.getText();
    
    try
    {
        FileOutputStream ldata = new FileOutputStream("logindata.txt", true);
        PrintWriter printer = new PrintWriter(ldata);
        
        printer.println(user+","+pass+","+","+",");
        JOptionPane.showMessageDialog(null,"success, please login");
        printer.close();
        
        this.setVisible(false);
        login lg = new login();
        lg.setVisible(true);
    }
    catch(Exception e)
    {
        JOptionPane.showMessageDialog(null,"Error, please retry");
    }        
} 

model.setColumnIdentifiers(columnsName); 之后添加 model.setRowCount(0);