java删除文件,慎重
时间:2022-05-04
本文章向大家介绍java删除文件,慎重,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在处理删除图片的时候,我将图片路径从数据库取出,然后执行如下删除代码:
void deleteFile(File file){
if(file!=null && file.exists()){
if(file.isFile()){
file.delete();
}
else if(file.isDirectory()){
File files[] = file.listFiles();
for(int i=0; i<files.length; i++){
deleteFile(files[i]);
}
}
}
}
一直运行无误,突然有一次发现所有的图片都不见了,都是404,登陆xshell查看服务器:果然全没了。吓一跳,还好是测试服务器。
原因:
发现有张图片地址为空,传到删除方法的时候就只剩下域名,也就是执行删除域名解析到的文件。这下递归结束后所有的文件全没了,只剩下空文件夹了。
以后考虑问题细致一些,既然是删除图片就不要多此一举判断目录了,判断是文件删除即可。
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Docker中部署RabbitMQ并使用Python3.x操作全书(Python操作RabbitMQ看这一篇就够了)
- 【CPP】模板类线性表
- leetcode 剑指 Offer 32 - II. 从上到下打印二叉树 II
- Matlab系列之程序优化
- 基于BS架构微博系统
- 10分钟学会pillow图像处理16式
- 编译原理课程设计词法分析
- 30分钟学会XGBoost
- Linux页框分配器之内存碎片化整理
- 手把手教你实现"短信轰炸"
- 最全总结!聊聊 Python 调用 JS 的几种方式
- 爬取小说网站章节和小说语音播放
- JavaScript原型、原型链及原型链污染
- 报刊订阅管理系统的设计与实现
- 使用Pytest创建一个Python测试自动化项目