后台根据图片的网址来定位到服务器上的真实地址,进行删除图片操作
既可以删除图片等文件,也可以删除目录文件夹
删除时务必请注意,看好路径,别删除自己重要文件!!别写顶级目录,不然会全部删除的
删除时务必请注意,看好路径,别删除自己重要文件!!别写顶级目录,不然会全部删除的
删除时务必请注意,看好路径,别删除自己重要文件!!别写顶级目录,不然会全部删除的
上面是我后面测试的时候想到的,大家一定注意,删除不是小事情!
- 亲测可用,
- 本人vx:sun632928843,有需要的 可以加下 一起交流学习
代码:
package com.qust.ty.tyqzht.util;
import java.io.File;
/**
* @author sunyan
* @description: 删除文件
* @date 2019-12-09 10:51 AM
*/
public class DeleteFile {
/**
* @description
* @author sunyan
* @date 2019/12/9 12:01 PM
* @param path 图片网址路径
* @param realPath 服务器内部真实路径
* @return void
*
*/
public static void deleteFiles(String path,String realPath){
//对path进行处理将网页地址转化为实际地址
//获取文件的名字
String originalFileName=path.substring(path.lastIndexOf("/")+1);
//拼接新的地址
String filePatn=realPath+path.substring(path.lastIndexOf("/")+1);
File file = new File(filePatn);
//如果不是文件夹就直接删除该图片文件
if(!file.isDirectory()){
System.out.println(filePatn);
System.out.println(file.getName());
file.delete();
}else if(file.isDirectory()){
//如果是文件夹是获取文件列表
String []filelist = file.list();
//获取完成文件路径
for(int j=0;j<filelist.length;j++){
File filessFile= new File(filePatn+"/"+filelist[j]);
System.out.println(filePatn+"/"+filelist[j]);
if(!filessFile.isDirectory()){
filessFile.delete();
}else if(filessFile.isDirectory()){
//递归调用
deleteFiles(filePatn+"/"+filelist[j],filePatn+"/");
}
}
//最后删除该文件夹
file.delete();
}
}
public static void main(String[] args) {
//图片所在网址
String originalPath="https://xxx.cn/images/WechatIMG12554.jpeg";
//服务器真实路径目录
String realPath="/Users/sunyan/Documents/filetest1/";
deleteFiles(originalPath,realPath);
}
}