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

这篇文章主要介绍了如何批量清理系统临时文件(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:\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();

}

}

}

运行效果图:

1a494f07cd9aca67260ed69fb2b27202.png

二、语言:C/C++

开发环境:vs 2013

代码总行数:50行

耗时:36秒

代码:

#include

#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.wHour, sys_time.wMinute, sys_time.wSecond);

system("pause");

return 0;

}

运行效果图:

01c4bc617f888bae99b672b022612b9f.png

三、语言:PHP

开发环境:Phpstorm

代码总行数:32行

耗时:13秒

代码:

/**

* 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()) . '
';

运行效果图:

aeb737367dedfe2e06f52c308bbeea00.png

四、语言: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

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));

}

}

运行效果图:

cc11b523bacc37155519883d5640ff43.png

五、语言: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'));

运行效果图:

44f2334fb148080dd715214c028176b1.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值