Java清理临时目录文件Demo,一

    /**
     * 删除单个文件
     * 
     * @param sPath
     *            被删除文件的文件名
     * @return 单个文件删除成功返回true,否则返回false
     */
    public static boolean deleteFile(String sPath) {
        boolean flag = false;
        File file = new File(sPath);
        // 路径为文件且不为空则进行删除
        if (file.isFile() && file.exists()) {
            file.delete();
            flag = true;
        }
        return flag;
    }

    /**
     * @description 扫描指定路径文件夹下所有文件
     * 得到每个文件的创建时间
     * 删除时间在规定时间之前的所有文件deleteFile(array[i].toString());
     * 
     */
    private static void getOtherFile(String path) {

        File file = new File(path);

        File[] array = file.listFiles();

        for (int i = 0; i < array.length; i++) {

            if (array[i].isFile()) {

                SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
                
                Date newtime = null;

                try {
                    newtime = sf.parse(getFileCreateTime(array[i]).replace("/",
                            "-"));
                } catch (ParseException e) {
                    e.printStackTrace();
                }

                sf.format(newtime);
                String currentTime = DateUtil.getCurrentDateTime();
                String createRealTime = DateUtil.getCurrentDateBeforeDate(
                        currentTime, daynum);


                // java 比较时间大小
                String s1 = sf.format(newtime);//硬盘上文件创建时间
                String s2 = createRealTime;//指定日期(删除指定日期之前的文件)
                java.text.DateFormat df = new java.text.SimpleDateFormat(
                        "yyyy-MM-dd");
                java.util.Calendar c1 = java.util.Calendar.getInstance();
                java.util.Calendar c2 = java.util.Calendar.getInstance();
                try {
                    c1.setTime(df.parse(s1));
                    c2.setTime(df.parse(s2));
                } catch (java.text.ParseException e) {
                    System.err.println("格式不正确");
                }
                int result = c1.compareTo(c2);
                if (result == 0) {
                    // System.out.println("硬盘上文件创建时间   相等   指定日期");
                } else if (result < 0) {
                    // System.out.println("硬盘上文件创建时间     小于  指定日期(硬盘文件日期在指定日期)");
                    // 当创建时间小于当前规定时间之前时,对文件进行删除操作。
                    deleteFile(array[i].toString());
                } else {
                    // System.out.println("硬盘上文件创建时间  大于  指定日期");
                    //deleteFile(array[i].toString());
                }

            } else if (array[i].isDirectory()) {

                getOtherFile(array[i].getPath());

            }
        }
    }

    /**
     * 获取文件创建时间
     * 
     */

    public static String getFileCreateTime(File filePath) {
        File file = filePath;

        try {

            Process ls_proc = Runtime.getRuntime().exec(

            "cmd.exe /c dir " + file.getAbsolutePath() + " /tc");
            BufferedReader br = new BufferedReader(new InputStreamReader(
                    ls_proc.getInputStream()));

            for (int i = 0; i < 5; i++) {

                br.readLine();

            }

            String stuff = br.readLine();

            StringTokenizer st = new StringTokenizer(stuff);

            String dateC = st.nextToken() + " ";

            String time = st.nextToken();

            String datetime = dateC.concat(time);

            br.close();

            return datetime;

        } catch (Exception e) {

            return null;
        }

    }