java清除u盘内存卡里的垃圾文件示例

 更新时间:2014年02月19日 09:27:35   作者:  
手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个文件占用了内存太大了

使用例子如下,用JAVA 运行Sort

1, 输入你要排序的文件路径 , 如 例子是对H:\下的文件和它所有子文件夹下的文件进行排序

2, 输入需要进行排序显示的最新大小,如 例子是对10M 大小 以上的文件进行排序

3,从大到小排序后按

文件路径\文件名-------大小 KB--------创建日期进行显示(yyyyMMdd)

格式进行显示,。

这样你就可以把太大的文件删除了,清理出空间

运行例子:H盘指向我的手机内存卡

复制代码 代码如下:

D:\hjbsSorft\work\20140207\SortSize\bin>java com.he.jinbin.Sort
输入需要排序文件地址:H:\
输入需要排序文件大小(单位M):10
运行中,请稍等...
从大到小文件排序为:
H:\.android_secure\com.sg.android.fish-1.asec-------36224000 KB--------20130525
H:\BaiduMap\vmp\h\quanguogailue.dat-------27616013 KB--------20130512
H:\Download\RedGame_Android_2017-2013-11-06_18-54-27-CI-20.apk-------26563096 KB--------20131111
H:\ugame\ugameSDK\downloads\6F9757F4442DD99FC89FA387C80405D2.apk-------26305964KB--------20131025
H:\Download\com.tencent.mobileqq_60.apk-------25417880 KB--------20130714
H:\Android\data\com.android.gallery3d\cache\imgcache.0-------22070789 KB--------20140210

复制代码 代码如下:

package com.he.jinbin;

import java.util.Date;
/**
 * 用于排序逻辑实体类
 */
public class FileItem implements Comparable {
 private String fileName;
 private long size;
 private Date creatTime;

 public FileItem(String fileName, long size, Date creaDate) {
  // TODO Auto-generated constructor stub
  this.fileName = fileName;
  this.size = size;
  this.creatTime = creaDate;
 }

 public String getFileName() {
  return fileName;
 }

 public void setFileName(String fileName) {
  this.fileName = fileName;
 }

 public long getSize() {
  return size;
 }

 public void setSize(long size) {
  this.size = size;
 }

 public Date getCreatTime() {
  return creatTime;
 }

 public void setCreatTime(Date creatTime) {
  this.creatTime = creatTime;
 }

 @Override
 public int compareTo(Object o) {
  if (this.size > ((FileItem) o).getSize())
   return 1;
  return -1;
 }

}

复制代码 代码如下:

package com.he.jinbin;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
/**
 * 用于排序逻辑主类
 */
public class Sort {
 public static List<FileItem> fileItems = new ArrayList<FileItem>();
 public static FileItem maxFileItem;
 public final static long M_1 = 1024 * 1024;
 public static long temp = M_1; // 默认大于1M的文件

 public static void addFileItem(File file) {
  File[] fileList = file.listFiles();
  for (int i = 0; i < fileList.length; i++) {
   file = fileList[i];
   if (file.isDirectory()) {
    addFileItem(file);
   } else {
    if (file.length() > temp) {
     fileItems.add(new FileItem(file.getPath(), file.length(),
       new Date(file.lastModified())));
    }

   }
  }

 }

 public static void main(String[] args) throws IOException {
  String filePath = null;
  System.out.print("输入需要排序文件地址:");
  BufferedReader inRd = new BufferedReader(new InputStreamReader(
    System.in));
  filePath = inRd.readLine();
  System.out.print("输入需要排序文件大小(单位M):");
  inRd = new BufferedReader(new InputStreamReader(System.in));
  temp = Long.parseLong(inRd.readLine())*M_1;
  inRd.close();
  System.out.println("运行中,请稍等...");
  File file = new File(filePath);
  addFileItem(file);
  SimpleDateFormat fmt = new SimpleDateFormat("yyyyMMdd");
  Collections.sort(fileItems);
  System.out.println("从大到小文件排序为:");
  for (int i = fileItems.size() - 1; i >= 0; i--) {
   FileItem item = fileItems.get(i);
   System.out.println(item.getFileName() + "-------" + item.getSize()
     + " KB" + "--------" + fmt.format(item.getCreatTime()));
  }

 }
}

相关文章

  • java GUI实现五子棋游戏

    java GUI实现五子棋游戏

    这篇文章主要为大家详细介绍了java GUI实现五子棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • spring security环境搭建

    spring security环境搭建

    本文通过代码给大家介绍了spring security环境搭建的详细教程,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-09-09
  • java 两阶段终止线程的正确做法

    java 两阶段终止线程的正确做法

    这篇文章主要给大家分享了java 两阶段终止线程的正确做法,文章列举出错误的做法与正确做法做对比,具有一定的参考价值,需要的小伙伴可以参考一下,希望对你有所帮助
    2021-12-12
  • JAVA实现用户抽奖功能(附完整代码)

    JAVA实现用户抽奖功能(附完整代码)

    这篇文章主要给大家介绍了关于JAVA实现用户抽奖功能的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • spring学习之@SessionAttributes实例解析

    spring学习之@SessionAttributes实例解析

    这篇文章主要介绍了spring学习之@SessionAttributes实例解析,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • springboot与数据库返回数据中文乱码

    springboot与数据库返回数据中文乱码

    大家好,本篇文章主要讲的是springboot与数据库返回数据中文乱码,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2022-01-01
  • Spring框架配置java web实现实例化

    Spring框架配置java web实现实例化

    这篇文章主要介绍了Spring框架配置java web实现实例化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • 解决SpringBoot配置文件项目重启出现乱码的问题

    解决SpringBoot配置文件项目重启出现乱码的问题

    最近在创建了SpringBoot项目后往配置文件中写了相关的系统配置,并且在上面加了中文注释,但是在重启项目或开机重启后遇到了注释乱码的情况,下面这篇文章主要给大家介绍一下如何解决SpringBoot配置文件项目重启出现乱码的问题,需要的朋友可以参考下
    2023-06-06
  • springboot表单提交之validator校验

    springboot表单提交之validator校验

    在前台表单验证的时候,通常会校验一些数据的可行性,比如是否为空,长度,身份证,邮箱等等,这篇文章主要给大家介绍了关于springboot表单提交之validator校验的相关资料,需要的朋友可以参考下
    2021-05-05
  • java中基本注解的知识点总结

    java中基本注解的知识点总结

    在本篇文章里小编给大家整理的是一篇关于java中基本注解的知识点总结,有需要的朋友们可以跟着学习下。
    2021-06-06

最新评论