如何从java中的数组列表和文本文件中删除元素?

时间:2015-01-02 23:03:53

标签: java file arraylist io

我有一个arraylist从文本文件中获取其元素,如果我从arraylist中删除了一些元素,它们也应该从文件中删除,我该怎么做? 我在某处读到了我应该使用的临时文件,但我不知道该怎么做。

2 个答案:

答案 0 :(得分:0)

你应该有包装类来保持ArrayList并引用File。 在包装器类中,您有loaddelete等方法。

class <className>
{
   List arrayList;
   File file;

   public void load(){
      // Load the file content into Arraylist
   }

   public void delete(){
      synchronized(this){
          //  delete the content from ArrayList and re-write the file
      }
   }
}

我刚刚给出了高水平。

您可以重新编写/修改文件/创建tmp文件,将org文件重命名为.bk并将tmp文件重命名为org文件 - 有很多方法可以执行此操作,具体取决于您的要求以及组织文件的结构

答案 1 :(得分:0)

您需要做的是将数组列表中的新元素复制到新文件中,或者只是复制和替换原始文件中的数据,例如您有一个包含数据的文件,并且您有一个数组与文件具有相同数据的列表,因此如果更改数组列表中的元素,则再次替换该文件:

class <className>
{

   List arrayList;

   File file;
  //you should initialize the file and the arraylist first
  public void reWrite()
  {
      BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)));
      for(Object object : arraylist)
      {
         bw.write(object);
      }
        bw.close();
  } 
 }
相关问题