工具下载地址:小工具

作为一个开发人员,一个一线的码农,我们在写程序的时候往往会给自己的程序添加很多的日志输出,这是一个好习惯,但是很多程序员却没有在程序里面增加日志定期清除的好习惯,从事IT领域十多年,接触到的软件也是五花八门,这个通病一直是运维人员的苦,一般来说客户会有运维系统,那么会对服务器磁盘空间设置预警,一旦低于多少空间就会提醒维护人员去删除日志。

网上有一些批处理命令,可以删除这些日志,然后添加到计划任务里面定时执行,这是一个办法,我这边就不做叙述,感兴趣的小伙伴可以自己百度。

我这里介绍的是我遇到的一种比较极端的情况,一个服务,正常运行了一年,没有任何问题,突然有一天不行了,检查后发现是服务写日志的磁盘满了。然后就准备去删除文件,结果文件夹乱七八糟的,很多各种类型的日志文件,也不知道删除哪些好,最要命的是,右键属性看了一下,这些小的日志文件居然达到了百万个,我嘞个乖乖,这是要命了,直接用Delete键删除,导致界面卡死,并且是无法恢复响应的那种。

尝试了很多办法,不是卡死就是误删。

码农的思维方式就是电脑上的操作都是可以通过程序的方式去实现,于是乎开干。

一般获取磁盘文件的方法是:

Directory.GetFiles("文件夹路径", "文件类型", SearchOption.AllDirectories);

上面这个是常用方法,但是本场景下是不适用的,一旦采用上面的方法,直接和系统按Delete键删除一样,程序卡死。换种写法

DirectoryInfo dir = new DirectoryInfo("文件夹路径");

FileInfo[] files=dir.GetFiles();

DirectoryInfo[] dirs= dir.GetDirectories();

采用上面这种方式,结合递归或者循坏,题外话一般来说所有的递归都是可以用循环的写法去实现(感兴趣的小伙伴可以自己百度,我这里就不解释了)

通过层层递归,获取所有文件信息以及文件夹信息,这样就可以删除这些文件。

程序界面如下:

功能介绍:设置删除文件夹,然后分析文件夹,分析文件夹可以了解到文件夹的文件分布情况

通过分析文件夹中各种文件类型的大小,以及个数来判断,哪些是需要删除的文件

其他功能就不介绍了,这里重点介绍一下邮件通知,因为需要删除的文件非常非常多,删除耗时可能需要几个小时甚至是几天,因此增加了一个邮件通知是否已经全部删除。

java批量删除日志文件_日志清理与文件批量删除相关推荐

  1. mysql删除过期文件_关于保留最新文件或清除过期文件的简单总结

    在运维工作中经常遇到要管理备份.日志等与时间戳有关的文件,例如删除超过10天的备份/日志文件,保存最新的10个的备份/日志文件等. "删除超过10天的备份/日志文件"是用的比较多的 ...

  2. cx_oracle写日志信息_日志系统的设计

    笔者在写作本章节的时候,并不敢把此章节的标题叫做<高性能日志系统的设计>,之所以不敢加上"高性能"三个字的原因是: 第一,我对于日志系统设计知识和经验都来自于学习和工作 ...

  3. [战略]对空间_日志风格_日志分类_日志标记_的整体说明

    1.写作目的 为方便 粉丝.好友和网友等友好人士阅读Fans的QQ空间的日志, 以及Fans对日志的创作和管理, 特写此文来说明下空间的日志风格.日志分类.日 志标记. 2.日志风格的说明 a.坚持原 ...

  4. java zip 替换文件_替换一个Zip文件而不解压缩在Java

    我有一个zip文件,我想用另一个文件替换它里面的一个文件.因此,不需要删除zip条目,只需将zip条目的文件替换为另一个条目即可.替换一个Zip文件而不解压缩在Java 这是我试过的. public ...

  5. 如何清理卸下应用的残余文件_怎么清理CorelDRAW卸载残余文件

    怎么清理CorelDRAW卸载残余文件,是在重装coreldraw时经常遇到的问题.由于清理不干净,再重装的时候一直提示coreldraw试用期已过,请购买正式版面.下面小结一下怎么清理CorelDR ...

  6. java包图标是文件_关于更换.jar文件默认图标

    最近写了个java程序,导出.jar文件后觉得默认图标太寒酸,想换一个自个儿喜欢的.eclipse导出.jar文件网上提供了很多很正确的方法,我也不必赘述.至于更改默认图标,网上提供的一些方法真是让人 ...

  7. excel删除无尽空白行_全了!Excel批量插入空行、批量删除空行、隔行插入空行技巧...

    Excel有很多批量操作技巧,如果掌握了这些技巧,工作效率会得到一定程度的提升. 下面介绍3个常用的批量操作技巧. 技巧1.批量插入空行 当选中单元格区域后,按住Shift键,将鼠标移动到所选区域的右 ...

  8. sed 删除某一行_运用sed命令高效地删除文件的特定行

    运用 sed 命令高效地删除文件的特定行 正常来说,我们想要删除文件中的某些行内容,一般都是先打开这个文件,然后找到要删除的内容,再然后选中这些行并按删除键进行删除,这在数据量很少时是没有问题的.但是 ...

  9. wegame一键蹲替换文件_如何在ps里批量替换姓名、编号等内容(变量和图像处理器)...

    大家好 今天的教程比较冷门 但是应用的却比较广泛 就是变量+图像处理器 比如会员卡.胸牌等 有很多姓名或标号需要替换时 这个组合技简直无敌 命令位置 [图像-变量-定义] [文件-脚本-图像处理器] ...

最新文章

  1. 什么是智能医院?如何构建自己的解决方案?
  2. 汉诺塔问题hdu 2065——找规律
  3. 2018.9--2019.7 Java开发工作中的经验和教训之db2数据库操作
  4. mysql binlog生成异常_mysql binlog故障演练
  5. 年老代过大有什么影响
  6. sqlserver执行更新语句时出现异常,t 附近有语法错误
  7. win10更换系统启动时候的图片
  8. [IDEA插件] - 一个不错的插件
  9. 【python】Django设置SESSION超时时间没有生效?
  10. apusic6.0需要新项目需要改动文件
  11. sublime安装插件详细教程
  12. 标准的Java编码规范手册
  13. 内存卡android文件夹名称,安卓手机内存卡文件夹英文名称解析——第三方应用类...
  14. 鼠标划过显示鼠标移出隐藏效果
  15. java 蓝牙打印_Android - 将收据打印到蓝牙打印机
  16. spring boot 集合 shiro
  17. session到底是什么
  18. Linux安装unrar
  19. 【转】发布release版的androidamp;nbs…
  20. LNMP环境下QQ农场的搭建

热门文章

  1. uefi模式安装windows10和deepin
  2. 交换机putty怎么调试_【技术】如何登陆交换机进行命令配置?常用的交换机组网模拟器有哪些?...
  3. ImagePullBackOff: Back-off pulling image \gcr.io/google_containers/pause-amd64:3.0 解决方法
  4. 5月6日(Lambda)LCAC第十三次会议重要信息摘取
  5. JavaSE探赜索隐之乾坤袋(集合)
  6. linux下安装hadoop步骤
  7. sht20 python_SHT20 IIC 寄存器概述
  8. hadoop清理回收站
  9. 某游戏客户流失情况数据分析
  10. 开源框架XWIKI搭建介绍