删除旧文件,然后在目录java中添加新文件,而不使用FileUtils
我每天都在将新文件写入目录删除旧文件,然后在目录java中添加新文件,而不使用FileUtils,java,file,bufferedwriter,Java,File,Bufferedwriter,我每天都在将新文件写入目录 BufferedWriter bw = new BufferedWriter(new FileWriter("C:\\difftest\\newfiles\\"+decisionList.get(i)+"_"+i+".txt")); 在创建新文件之前,我想删除文件夹中以前添加的文件。并且,由于文件名不同,以前的文件不会被新文件覆盖。我怎样才能做到这一点 以下代码可能会有所帮助 这只是你能做什么的想法,我不确定是否有bug public class rename {
BufferedWriter bw = new BufferedWriter(new FileWriter("C:\\difftest\\newfiles\\"+decisionList.get(i)+"_"+i+".txt"));
在创建新文件之前,我想删除文件夹中以前添加的文件。并且,由于文件名不同,以前的文件不会被新文件覆盖。我怎样才能做到这一点 以下代码可能会有所帮助 这只是你能做什么的想法,我不确定是否有bug
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"));
是否要删除该目录中的所有文件,还是仅删除名称遵循特定模式的文件?如果希望目录为空,请列出目录中的文件并将其全部删除。否则您还需要某种文件名匹配。@RobertKock我想删除所有文件,即在执行bufferedWriter之前清空整个目录。您可以删除该目录,重新创建并保存新文件。@htpvl您能告诉我如何删除包含文件的目录吗?谢谢,@hamid这对我很有用。谢谢@Pushpesh它起作用了:很高兴帮助Richa:它告诉我你接受了我的答案,然后突然我发现它被拒绝了。有什么原因吗?您认为我的解决方案不够好?两次意外单击“接受”图标。