java删除文件和目录

本文介绍两种使用Java进行文件删除的方法。一种是通过调用命令行的方式实现文件删除,另一种是直接利用Java内置的File类提供的方法来删除文件或整个目录。文章提供了完整的代码示例并解释了每一步的操作。

调用命令行删除

package com.word; import java.io.IOException; public class DeleteFile { public static void main(String[] args) { String filepath="D:\\text.txt"; Runtime rt = Runtime.getRuntime(); try { rt.exec("cmd /c del "+filepath); System.out.println("删除成功"); } catch (IOException e) { System.out.println("删除失败"); } } }

调用方法删除 转自http://blog.youkuaiyun.com/softwave/archive/2009/02/07/3867078.aspx

package com.word; import java.io.File; /** * * @author XWZ * 2007-11-27 * 删除文件或目录 */ public class DeleteFileUtil { /** * 删除文件,可以是单个文件或文件夹 * @param fileName 待删除的文件名 * @return 文件删除成功返回true,否则返回false */ public static boolean delete(String fileName){ File file = new File(fileName); if(!file.exists()){ System.out.println("删除文件失败:"+fileName+"文件不存在"); return false; }else{ if(file.isFile()){ return deleteFile(fileName); }else{ return deleteDirectory(fileName); } } } /** * 删除单个文件 * @param fileName 被删除文件的文件名 * @return 单个文件删除成功返回true,否则返回false */ public static boolean deleteFile(String fileName){ File file = new File(fileName); if(file.isFile() && file.exists()){ file.delete(); System.out.println("删除单个文件"+fileName+"成功!"); return true; }else{ System.out.println("删除单个文件"+fileName+"失败!"); return false; } } /** * 删除目录(文件夹)以及目录下的文件 * @param dir 被删除目录的文件路径 * @return 目录删除成功返回true,否则返回false */ public static boolean deleteDirectory(String dir){ //如果dir不以文件分隔符结尾,自动添加文件分隔符 if(!dir.endsWith(File.separator)){ dir = dir+File.separator; } File dirFile = new File(dir); //如果dir对应的文件不存在,或者不是一个目录,则退出 if(!dirFile.exists() || !dirFile.isDirectory()){ System.out.println("删除目录失败"+dir+"目录不存在!"); return false; } boolean flag = true; //删除文件夹下的所有文件(包括子目录) File[] files = dirFile.listFiles(); for(int i=0;i<files.length;i++){ //删除子文件 if(files[i].isFile()){ flag = deleteFile(files[i].getAbsolutePath()); if(!flag){ break; } } //删除子目录 else{ flag = deleteDirectory(files[i].getAbsolutePath()); if(!flag){ break; } } } if(!flag){ System.out.println("删除目录失败"); return false; } //删除当前目录 if(dirFile.delete()){ System.out.println("删除目录"+dir+"成功!"); return true; }else{ System.out.println("删除目录"+dir+"失败!"); return false; } } public static void main(String[] args) { //String fileName = "g:/temp/xwz.txt"; //DeleteFileUtil.deleteFile(fileName); String fileDir = "D:\\广告"; //DeleteFileUtil.deleteDirectory(fileDir); DeleteFileUtil.deleteDirectory(fileDir); } }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值