如何将文本文件中数组列表的每个索引保存为 java 中的新行?

How to save Each index of Array List in text file as new line in java?

我正在尝试将列表的每个索引另存为文本文件中的新行,格式如下 java,并在稍后读取与两个单独的数组列表相同的内容。我已经完成了保存部分,现在我想将它读回两个单独的列表

Save Formate

Class 保存列表

public class SaveLists{
    private  List<Integer> First= new ArrayList<>();
    private  List<Integer> second= new ArrayList<>();
    
        public void save(List l) throws IOException{
        try{ 
        File f = new File ("E:\Sample.txt");
        if (!f.exists()) {
            f.createNewFile();
        }
        FileWriter fw = new FileWriter(f.getAbsoluteFile(),true);
        BufferedWriter bw = new BufferedWriter(fw);

        for(Object s : l) {
            bw.write(s + System.getProperty("line.separator")); 
        }
       bw.write(System.getProperty("line.separator")); 
        bw.close();
        }catch(FileNotFoundException e){System.out.println("error");}
     }

public void ReadFromText(){
//Read from Text file and save in both lists
}
}

Class 主要 :

public static void main(String[] args) {
        temp t = new temp();
        t.First.add(1);
        t.First.add(2);
        t.First.add(3);
        
        t.second.add(6);
        t.second.add(5);
        t.second.add(4);
        
        t.save(t.First);
        t.save(t.second);

//        t.ReadFromText();
    }
    

由于两个保存操作都在同一个线程上,因此这些行将以同步方式写入文件。因此,在从文件中读取所有行后,我们可以根据输入列表的大小拆分行,即第一组值将由 'First' 列表插入。

    public void ReadFromText() {
        // Read from Text file and save in both lists
        List<Integer> output1 = new ArrayList<>();
        List<Integer> output2 = new ArrayList<>();
        try {
            Path path = Path.of("D:\Sample.txt");
            List<String> inputList = Files.lines(path).collect(Collectors.toList());
            for (int i = 0; i < inputList.size(); i++) {
                String s = inputList.get(i);
                if (!s.isEmpty()) {
                    if (i < First.size()) {
                        output1.add(Integer.valueOf(s));
                    } else {
                        output2.add(Integer.valueOf(s));
                    }
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }