在不使用 FileUtils 的情况下在目录 java 中添加新文件之前删除旧文件

Delete old files before adding new files in directory java without using FileUtils

我每天都在将新文件写入目录。

BufferedWriter bw = new BufferedWriter(new FileWriter("C:\difftest\newfiles\"+decisionList.get(i)+"_"+i+".txt"));

在创建新文件之前,我想删除文件夹中以前添加的文件。并且以前的文件不会被新文件覆盖,因为文件名不同。我怎样才能做到这一点?

以下代码可能会有所帮助。

(这只是您可以做什么的想法,我不确定是否存在错误。)

public class rename 
{ 
    public static void main(String[] argv) throws IOException 
    { 
         // Path of folder where files are located 
         String folder_path = 
           "C:\Users\Anannya Uberoi\Desktop\myfolder"; 

         // creating new folder 
         File myfolder = new File(folder_path); 

         File[] file_array = myfolder.listFiles(); 
         for (int i = 0; i < file_array.length; i++) 
         { 

            if (file_array[i].isFile()) 
            { 

                File myfile = new File(folder_path + 
                     "\" + file_array[i].getName()); 
                myfile.delete(); 
            } 
        } 
    } 
} 

您可以使用这个线性代码从给定目录中删除所有现有文件,

Arrays.asList(new File("C:\difftest\newfiles").listFiles()).stream().forEach(File::delete);

所以,只需将这行代码放在 BufferedWriter 行之前,就像这样,

Arrays.asList(new File("C:\difftest\newfiles").listFiles()).stream().forEach(File::delete);
BufferedWriter bw = new BufferedWriter(new FileWriter("C:\difftest\newfiles\"+decisionList.get(i)+"_"+i+".txt"));