JAVA删除文件操作

          在我做的项目《基于在线学习的知识问答平台》中,有个模块涉及删除本地的资源文件。

         在这个模块中使用了java.io.File包,其中File类表示一个文件或者文件夹。

         在删除文件后,检查文件所在的文件夹是否为空,若为空,删除文件夹!

代码如下:

package test;

import java.io.File;

public class DeleteFile {

	public boolean deleteLocalFile(String address) {
		File file = new File(address);
		if (!file.exists()) {
			System.out.println("删除失败,文件不存在!");
			return false;
		} else if (file.isFile()) {
			if (file.delete()) {
				System.out.println("删除文件成功!");
				deleteDirectory(address);
				return true;
			} else {
				System.out.println("删除文件失败!");
				return false;
			}
		} else {
			System.out.println("Not a file!");
			return false;
		}
	}

	/**
	 * 当目录为空时,删除目录
	 */
	private void deleteDirectory(String address) {
		// 获取文件所在的目录名称
		address = address.substring(0, address.lastIndexOf('/') + 1);
		File dir = new File(address);
		
		// 删除空目录
		String[] dirList = dir.list();
		if (dirList == null) {
			System.out.println("文件夹不存在");
		} else if (dir.list().length > 0) {
			System.out.println("这不是一个空目录,不能删除!");
		} else if (dir.delete()) {
			System.out.println("删除空目录成功!");
		} else {
			System.out.println("删除空目录失败");
		}
	}

	public static void main(String[] args) throws Exception {
		DeleteFile df = new DeleteFile();
		String path = "C:/Users/lenovo/Desktop/test/test.txt";
		df.deleteLocalFile(path);
	}

}

运行结果如下:

测试时,不管删除的是绝对路径还是相对路径,都能删除成功,比如把path改成

String path = "../test/src/test/test.txt";

运行一样能成功!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值