首页 > 开发 > PHP > 正文

如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )

2024-05-04 23:42:40
字体:
来源:转载
供稿:网友
这篇文章主要介绍了如何批量清理系统临时文件(C# C/C++ php python java )的相关资料,需要的朋友可以参考下
 

语言之争由来已久,下面做一些IO实验(遍历9G多的文件,批量删除),尽量用事实来比较谁优谁劣。操作系统:win7 64 位,文件包大小:9.68G。

一、语言:C#

开发环境:vs 2013

代码总行数:43行

耗时:7秒

代码:

using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;namespace BatchDelete{class Program{static void Main(string[] args){// 输入目录 e:/tmpstring path;Console.WriteLine("输入要清理的目录:");path = Console.ReadLine();// 开始计时Console.WriteLine("开始计时:"+DateTime.Now.ToString("HH:mm:ss"));// 先遍历匹配查找再循环删除if (Directory.Exists(path)){Console.Write("正在删除");foreach (string fileName in Directory.GetFileSystemEntries(path)){if (File.Exists(fileName) && fileName.Contains("cachegrind.out")){File.Delete(fileName);}}Console.WriteLine("");}else{Console.WriteLine("该目录不存在!");}// 计时结束Console.WriteLine("结束计时:" + DateTime.Now.ToString("HH:mm:ss"));Console.ReadKey();}}}

运行效果图:

如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )

二、语言:C/C++

开发环境:vs 2013

代码总行数:50行

耗时:36秒

代码:

#include <iostream>#include <string>#include <Windows.h>#include <boost/filesystem/operations.hpp>#include <boost/filesystem/path.hpp>#include <boost/filesystem/convenience.hpp>#include <boost/algorithm/string.hpp>using namespace std;int main(int argc, char * argv[]){// 输入目录 e:/tmpstring strPath;cout << "输入要清理的目录:" << endl;getline(cin, strPath);// 开始计时 SYSTEMTIME sys_time; //声明变量GetLocalTime(&sys_time); //将变量值设置为本地时间printf("开始计时:%02d:%02d:%02d/n", sys_time.wHour,sys_time.wMinute,sys_time.wSecond);// 先遍历匹配查找再循环删除namespace fs = boost::filesystem;fs::path full_path(fs::initial_path());full_path = fs::system_complete(fs::path(strPath, fs::native));if (fs::exists(full_path)){cout << "正在删除" ;fs::directory_iterator item_begin(full_path);fs::directory_iterator item_end;for (; item_begin != item_end; item_begin++){if (!fs::is_directory(*item_begin)){if (fs::exists(item_begin->path()) && boost::contains(item_begin->path().string(), "cachegrind.out")){fs::remove(item_begin->path());}}}cout << "" << endl;}else{cout << "该目录不存在!" << endl;}// 计时结束GetLocalTime(&sys_time);printf("计时结束:%02d:%02d:%02d/n", sys_time.wHour, sys_time.wMinute, sys_time.wSecond);system("pause");return 0;}

运行效果图:

如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )

三、语言:PHP

开发环境:Phpstorm

代码总行数:32行

耗时:13秒

代码:

<?php/*** Created by PhpStorm.* User: Administrator* Date: 16-1-29* Time: 上午9:31*/date_default_timezone_set('prc');//输入目录 e:/tmp$path = 'e:/tmp';//开始计时echo date("H:i:s",time()) . '<br/>';//先遍历匹配查找再循环删除if(is_dir($path)){echo "正在删除";$mydir = dir($path);while($file = $mydir->read()){if(file_exists("$path/$file") && strpos($file, 'cachegrind.out') === 0){unlink("$path/$file");}}echo '<br/>';}else{echo "该目录不存在!" . '<br/>';}//计时结束echo date("H:i:s",time()) . '<br/>'; 

运行效果图:

如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )

四、语言:Java

开发环境:eclipse

代码总行数:43行

耗时:10秒

代码:

package com.yejing;import java.io.File;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Scanner;public class Test {public static void main(String[] args) {Scanner s = new Scanner(System.in);// 输入目录 e:/tmpString path = null;System.out.println("输入要清理的目录:");path = s.next();// 开始计时Date nowTime=new Date(); SimpleDateFormat time=new SimpleDateFormat("HH:mm:ss"); System.out.println("开始计时:"+ time.format(nowTime)); // 先遍历匹配查找再循环删除File dir = new File(path);if(dir.exists()){System.out.print("正在删除");File[] fs = dir.listFiles();for(int i=0;i<fs.length;i++){if(!fs[i].isDirectory()){if(fs[i].isFile() && fs[i].exists() && fs[i].getName().contains("cachegrind.out")){fs[i].delete(); }}}System.out.println("");}else{System.out.println("该目录不存在!");}// 计时结束nowTime=new Date(); System.out.println("开始计时:"+ time.format(nowTime)); }}

运行效果图:

如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )

五、语言:Python 3.3.5

开发环境:IDLE

代码总行数:20行

耗时:10秒

代码:

# -*- coding: utf-8 -*- import datetimeimport os# 输入目录 e:/tmppath = input("输入要清理的目录:/n");# 开始计时print("开始计时:",datetime.datetime.now().strftime('%H:%M:%S'));# 先遍历匹配查找再循环删除if(os.path.exists(path)):print("正在删除");for parent,dirnames,filenames in os.walk(path):for filename in filenames:targetFile = os.path.join(parent,filename)if (os.path.isfile(targetFile) and "cachegrind.out" in targetFile):os.remove(targetFile)

else:

print("该目录不存在!");# 计时结束print("结束计时:",datetime.datetime.now().strftime('%H:%M:%S')); 

运行效果图:

如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )



注:相关教程知识阅读请移步到PHP教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表