Table of Contents
对照实验(1)-批量清理系统临时文件,对照实验清理
对照实验(1)-批量清理系统临时文件,对照实验清理
语言之争由来已久,下面做一些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:\tmp string 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(); } } }
Copy after login
运行效果图:
二、语言:C/C++
开发环境:vs 2013
代码总行数:50行
耗时:36秒
代码:
#include <iostream><span> #include </span><<span>string</span>><span> #include </span><Windows.h><span> #include </span><boost\filesystem\operations.hpp><span> #include </span><boost\filesystem\path.hpp><span> #include </span><boost\filesystem\convenience.hpp><span> #include </span><boost\algorithm\<span>string</span>.hpp> <span>using</span> <span>namespace</span><span> std; </span><span>int</span> main(<span>int</span> argc, <span>char</span> *<span> argv[]) { </span><span>//</span><span> 输入目录 e:\tmp</span> <span>string</span><span> strPath; cout </span><< <span>"</span><span>输入要清理的目录:</span><span>"</span> <<<span> endl; getline(cin, strPath); </span><span>//</span><span> 开始计时 </span> SYSTEMTIME sys_time; <span>//</span><span>声明变量</span> GetLocalTime(&sys_time); <span>//</span><span>将变量值设置为本地时间</span> printf(<span>"</span><span>开始计时:%02d:%02d:%02d\n</span><span>"</span><span>, sys_time.wHour,sys_time.wMinute,sys_time.wSecond); </span><span>//</span><span> 先遍历匹配查找再循环删除</span> <span>namespace</span> fs =<span> boost::filesystem; fs::path full_path(fs::initial_path()); full_path </span>=<span> fs::system_complete(fs::path(strPath, fs::native)); </span><span>if</span><span> (fs::exists(full_path)) { cout </span><< <span>"</span><span>正在删除</span><span>"</span><span> ; fs::directory_iterator item_begin(full_path); fs::directory_iterator item_end; </span><span>for</span> (; item_begin != item_end; item_begin++<span>) { </span><span>if</span> (!fs::is_directory(*<span>item_begin)) { </span><span>if</span> (fs::exists(item_begin->path()) && boost::contains(item_begin->path().<span>string</span>(), <span>"</span><span>cachegrind.out</span><span>"</span><span>)) { fs::remove(item_begin</span>-><span>path()); } } } cout </span><< <span>""</span> <<<span> endl; } </span><span>else</span><span> { cout </span><< <span>"</span><span>该目录不存在!</span><span>"</span> <<<span> endl; } </span><span>//</span><span> 计时结束</span> GetLocalTime(&<span>sys_time); printf(</span><span>"</span><span>计时结束:%02d:%02d:%02d\n</span><span>"</span><span>, sys_time.wHour, sys_time.wMinute, sys_time.wSecond); system(</span><span>"</span><span>pause</span><span>"</span><span>); </span><span>return</span> <span>0</span><span>; }</span>
Copy after login
运行效果图:
三、语言: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/>';
Copy after login
运行效果图:
四、语言: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:\tmp String 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)); } }
Copy after login
运行效果图:
五、语言:Python 3.3.5
开发环境:IDLE
代码总行数:20行
耗时:10秒
代码:
# -*- coding: utf-8 -*- import datetime import os # 输入目录 e:\tmp path = 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'));
Copy after login
运行效果图:
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article
R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
2 weeks ago
By 尊渡假赌尊渡假赌尊渡假赌
Assassin's Creed Shadows: Seashell Riddle Solution
1 weeks ago
By DDD
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago
By 尊渡假赌尊渡假赌尊渡假赌
Where to find the Crane Control Keycard in Atomfall
1 weeks ago
By DDD

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics
CakePHP Tutorial
1359
52

