大家好,又见面了,我是你们的朋友全栈君。
###Java递归删除文件
public static void main(String[] args) {
File file = new File(“D:\\dir”);
recursiveDelete(file);
}
###recursiveDelete方法
private static void recursiveDelete(File file) {
if (file.isDirectory()) {
File[] list = file.listFiles();
for (File f : list) {
recursiveDelete(f);
}
// 删除完文件夹内的文件后删除自身
file.delete();
} else {
file.delete();
}
}
###=================================================================== ###同理,递归删除数据库里的商品目录
public int deleteGoodsCategory(Long goodsCategoryId) {
return recursive(goodsCategoryId);
}
private int recursive(Long goodsCategoryId) {
int r = 0;//此统计结果不准确
if (hasSubCategory(goodsCategoryId)) {
//删除子类目
List list = goodsCategoryDao.selectSubGoodsCategory(goodsCategoryId);
for (GoodsCategory g : list) {
recursive(g.getId());
}
goodsCategoryDao.deleteByPrimaryKey(goodsCategoryId);//删除完子类目后删除自身
r++;
} else {
goodsCategoryDao.deleteByPrimaryKey(goodsCategoryId);
r++;
}
return r;
}
public boolean hasSubCategory(Long goodsCategoryId) {
return goodsCategoryDao.hasSubCategory(goodsCategoryId) > 0;
}
###goodsCategoryDao
int deleteByPrimaryKey(Long id);
//delete from xy_goods_category where id = #{id}
int hasSubCategory(Long goodsCategoryId);
// select count(1) from xy_goods_category where parent_id = #{goodsCategoryId}
/**
* 某个目录的子目录列表
*/
List selectSubGoodsCategory(Long goodsCategoryId);
// select * from xy_goods_category where parent_id = #{goodsCategoryId}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/192092.html原文链接:https://javaforall.cn