如何在每次运行程序时向我的文件添加更多对象?

时间:2017-11-15 20:24:03

标签: java file object file-io

这是我的saveTable按钮,它保存了我的一行表,而不是将其放入我的Auto.auto文件中,但我只能保存一个object(row) Auto type。每次我保存另一个line(row)时它会替换旧的object(row of table),所以最后我在我的程序运行时点击保存按钮5次后,我的文件中只有一个 saveTable.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { int row = Integer.parseInt(textField.getText()); getText.getAuto(row); File tabel = new File("C:\\Users\\Jovan\\Desktop\\Auto.auto"); try { if (!(tabel.exists())) { tabel.createNewFile(); } FileOutputStream fos = new FileOutputStream(tabel); ObjectOutputStream oos1 = new ObjectOutputStream(fos); oos1.writeObject(getText.getAuto(row)); oos1.close(); ObjectOutputStream os2 = new ObjectOutputStream(new FileOutputStream(tabel, true)) { protected void writeStreamHeader() throws IOException { reset(); } }; os2.writeObject(getText.getAuto(row)); os2.close(); } catch (IOException error) { error.printStackTrace(); } } }); 。我怎么解决这个问题?

//Code block generating dropdown list from states object
          for (let i = 0; i < states.length; i++) {
           if (states[i].id > 0) {
            var option = $("<option>", {
             text: states[i].state + " " + states[i].district,
             value: states[i].id,
             url : states[i].url
           });
          $('#listed_states').append($(option));
        }
      }



      $('#listed_states').on('change', function(){
       if ($(this).find('option:selected').attr('url')){
        window.open($(this).find('option:selected').attr('url'), '_blank');
       } else {
        console.log('false');
       }
      })
     });

1 个答案:

答案 0 :(得分:1)

new FileOutputStream(tabel, true)

第二个参数意味着您将附加到该文件而不是覆盖它

  

public FileOutputStream(File file,                   布尔附加)                    抛出FileNotFoundException

     

创建文件输出流以写入由指定的File对象表示的文件。   如果第二个参数为true,则字节将写入结尾   文件而不是开头。一个新的FileDescriptor对象是   创建以表示此文件连接。首先,如果有的话   安全管理器,其路径调用其checkWrite方法   由file参数表示为其参数。

     

如果文件存在但是是目录而不是常规文件,那么   不存在但无法创建,或无法打开任何其他   之所以抛出FileNotFoundException。

参考here