Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中如何从数组列表和文本文件中删除元素?_Java_File_Arraylist_Io - Fatal编程技术网

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

在java中如何从数组列表和文本文件中删除元素?,java,file,arraylist,io,Java,File,Arraylist,Io,我有一个arraylist,它从一个文本文件中获取元素,如果我从arraylist中删除一些元素,它们也应该从文件中删除,我该怎么做? 我在某个地方读到我应该使用临时文件,但我不知道怎么做。您应该有包装器类来保存ArrayList和对文件的引用。 在包装器类中有load、delete等方法 我刚刚给了大家一个很高的评价 您可以重新写入/修改文件/创建tmp文件,将org file重命名为.bk并将tmp file重命名为org file-根据您的需求和组织文件的结构,有很多方法可以做到这一点。您

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

您应该有包装器类来保存ArrayList和对文件的引用。 在包装器类中有load、delete等方法

我刚刚给了大家一个很高的评价


您可以重新写入/修改文件/创建tmp文件,将org file重命名为.bk并将tmp file重命名为org file-根据您的需求和组织文件的结构,有很多方法可以做到这一点。

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

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();
  } 
 }
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();
  } 
 }