Java在写文件时可以覆盖文件中已有的内容,重新将信息写入到文件中,具体实现如下:
public void write(ArrayList<String> arrayList, int name) { try { String path = "target/" + name + ".txt"; BufferedWriter bf = new BufferedWriter(new FileWriter(path)); for (String s : arrayList) { bf.write(s + "\n"); } bf.close(); } catch (IOException e) { System.out.println(e); } }
同时我们还可以不覆盖文件中已有的内容,直接向文件中添加新的信息,具体实现如下:
public void writes(ArrayList<String> arrayList, int name, int days) { try { File file = new File("target/" + name + "/" + "data" + ".txt"); FileOutputStream fos = null; if (!file.exists()) {//判断文件是否存在,如果不存在就新建文件 file.createNewFile(); fos = new FileOutputStream(file); } else { fos = new FileOutputStream(file, true);//如果文件已经存在,就直接在文件末尾添加新的信息 } OutputStreamWriter osw = new OutputStreamWriter(fos); for (String s : arrayList) { osw.write(s + "\n"); } osw.write("dividing line!" + "\n"); osw.close(); } catch (Exception e) { System.out.println(e); } }