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

前端之家收集整理的这篇文章主要介绍了如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

一、语言:C#

开发环境:vs 2013

代码总行数:43行

耗时:7秒

代码

删除 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++

开发环境:vs 2013

代码总行数:50行

耗时:36秒

代码

#include #include #include #include #include #include using namespace std; int main(int argc,char * argv[]) { // 输入目录 e:\tmp string 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.wSecond); system("pause"); return 0; }

运行效果图:

三、语言:PHP

开发环境:PHPstorm

代码总行数:32行

耗时:13秒

代码

PHP;"> 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()) . '
'; //先遍历匹配查找再循环删除 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 '
'; } else { echo "该目录不存在!" . '
'; } //计时结束 echo date("H:i:s",time()) . '
';

运行效果图:

四、语言:Java

开发环境:eclipse

代码总行数:43行

耗时:10秒

代码

删除 File dir = new File(path); if(dir.exists()){ System.out.print("正在删除"); File[] fs = dir.listFiles(); for(int i=0;i

运行效果图:

五、语言:Python 3.3.5

开发环境:IDLE

代码总行数:20行

耗时:10秒

代码

删除 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:

运行效果图:

原文链接:https://www.f2er.com/php/20425.html

猜你在找的PHP相关文章