C#文件和目录的操作
根据文件名获取文件
/// <summary>
/// 根据文件名获取文件
/// </summary>
/// <param name="directory"></param>
/// <param name="fileName"></param>
/// <param name="searchOption"></param>
/// <returns></returns>
private FileInfo[] GetFile(string directory, string fileName, SearchOption searchOption)
{
DirectoryInfo directoryInfo = new DirectoryInfo(directory);
if (!directoryInfo.Exists)
return null; return directoryInfo.GetFiles(fileName, searchOption);
}
删除过期目录
/// <summary>
/// 删除过期目录
/// </summary>
/// <param name="directory">根目录</param>
/// <param name="day">期限</param>
/// <returns></returns>
private int DelectOverdueDirectorys(string directory, int day)
{
DirectoryInfo directoryInfoRoot = new DirectoryInfo(directory);
if (!directoryInfoRoot.Exists)
return ; DirectoryInfo[] directoryInfos = directoryInfoRoot.GetDirectories();
foreach (var directoryInfo in directoryInfos)
{
if (DateTime.Now.Subtract(directoryInfo.CreationTime).TotalDays > day)
directoryInfo.Delete(true);
} return ;
}
删除过期文件
/// <summary>
/// 删除过期文件
/// </summary>
/// <param name="directory">根目录</param>
/// <param name="day">期限</param>
/// <returns></returns>
private int DelectOverdueFiles(string directory, int day)
{
DirectoryInfo directoryInfoRoot = new DirectoryInfo(directory);
if (!directoryInfoRoot.Exists)
return ; FileInfo[] fileInfos = directoryInfoRoot.GetFiles();
foreach (var fileInfo in fileInfos)
{
if (DateTime.Now.Subtract(fileInfo.CreationTime).TotalDays > day)
fileInfo.Delete();
} return ;
}
设置目录隐藏
/// <summary>
/// 设置目录隐藏
/// </summary>
/// <param name="directory"></param>
/// <returns></returns>
private int SetDirectoryHide(string directory)
{
DirectoryInfo directoryInfo = new DirectoryInfo(directory);
if (!directoryInfo.Exists)
return ; directoryInfo.Attributes = FileAttributes.Hidden;
return ;
}
目录加解锁
string FileExtend = ".{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}";
/// <summary>
/// 目录加锁
/// </summary>
/// <param name="directory"></param>
/// <returns></returns>
private int DirectoryEncrypt(string directory)
{
DirectoryInfo directoryInfo = new DirectoryInfo(directory);
if (!directoryInfo.Exists)
return ;
directoryInfo.MoveTo(directory + FileExtend);
return ;
}
/// <summary>
/// 目录解锁
/// </summary>
/// <param name="directory"></param>
/// <returns></returns>
private int DirectoryDecrypt(string directory)
{
DirectoryInfo directoryInfo = new DirectoryInfo(directory + FileExtend);
if (!directoryInfo.Exists)
return ;
directoryInfo.MoveTo(directory);
return ;
}
C#文件和目录的操作的更多相关文章
- FileDirLocationOperator - 文件或目录位置操作.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Move ...
- Perl文件、目录常用操作
注意,这些操作的对象是文件名(相对路径/绝对路径),而非文件/目录句柄,句柄只是perl和文件系统中文件的关联通道,而非实体对象. 创建文件 在unix类操作系统中有一个touch命令可以非常方便的创 ...
- 【node】fs模块,文件和目录的操作
检查文件是否存在,查询文件信息 fs.stat() fs.stat('./server.js', function (err, stat) { if (stat && stat.isF ...
- Java——文件及目录File操作
API file.listFiles(); //列出目录下所有文件及子目录fileList[i].isFile() //判断是否为文件 fileList[i].isDirectory() //判断是否 ...
- Python之文件操作:文件、目录的操作
一.创建 1.创建文件 open(path,'w') 2.创建目录 (1)os.mkdir(pt[, mode=0777]) 新建一个目录pt,参数mode表示生成的目录的权限,默认是超级权限,也就是 ...
- 12 hdfs常用文件、目录拷贝操作、删除操作
package com.da.hbase.tool.utils; import com.da.hbase.tool.common.Const; import org.apache.hadoop.con ...
- Java NIO.2 —— 文件或目录拷贝操作
拷贝整个文件树是可以递归每个目录和文件调用 Files.copy()方法.在使用的时候有一下注意事项. 在往目录拷贝文件之前,首先要保证目录已经存在.拷贝源目录(不论是否为空)都会生成目标目录.整个任 ...
- Java NIO.2 —— 文件或目录删除操作
文件删除 删除单个文件的操作很简单,如果要删除一个目录树的话,需要实现FileVisitor 接口然后递归地调用delete() 或deleteIfExists()方法.在看代码之前,需要注意一下问题 ...
- 【QT相关】文件、目录基础操作
判断目录是否存在: QString proFile(t_path); proFile.append("/dir"); QFileInfo proFileInfo(proFile); ...
- Python中对文件和目录的操作
用到的核心模块有:os shutil 文件的创建:f = open("文件名", "w") 注:如果涉及到乱码问题需要在后面加上encoding=&quo ...
随机推荐
- [转] 实现winfrom进度条及进度信息提示,winfrom程序假死处理
china_xuhua 原文地址 1.方法一:使用线程 功能描述:在用c#做WinFrom开发的过程中.我们经常需要用到进度条(ProgressBar)用于显示进度信息.这时候我们可能就需要用到多线 ...
- Delphi IOS 后台定时器
3.这里有一个问题,就是客户端是通过心跳来和服务端保持连接,心跳是由定时器触发的,当我退到后台以后,定时器方法被挂起,那么通过如下设置来在后台运行定时器 beginBackgroundTaskWith ...
- 如何在windows下安装mongoDB扩展
安装环境 系统环境:Windows 10 64位 Apache版本:2.4.9 PHP版本:5.5.12 MongoDB版本:3.2.6 Wamp版本:wamp 2.5 86位 ...
- Sqlserver中查找包含某一列的所有的表
select cols.name,cols.id,objs.name,objs.id from syscolumns cols INNER JOIN sysobjects objs on cols.i ...
- Callable接口使用以及计算斐波那契数字的数值总和
一.简单使用 Runnable是执行工作的独立任务,但是它不返回任何值.如果你希望任务完成的时能够返回一个值,那么可以实现一个Callable接口.在Java SE5中引入的Callable是一种具有 ...
- ubuntu mysql导出数据库及数据
mysqldump -u root -p mask_rcnn_realsense > /home/luo/mask_rcnn_realsense1.sql
- Solidity智能合约调用智能合约
来源:https://medium.com/@blockchain101/calling-the-function-of-another-contract-in-solidity-f9edfa921f ...
- [C++] CONST 2
The C++ 'const' Declaration: Why & How The 'const' system is one of the really messy features of ...
- p2944 [USACO09MAR]地震损失2Earthquake Damage 2
传送门 分析 我们让s到1,关键点到t分别连流量为inf的边 于是我们可以考虑跑s到t的最小割 于是我们将所有点拆为两个点,关键点和1的两个点之间连inf,其余点连1 将原图的边也连上,流量为inf ...
- Python爬虫入门四之Urllib库的高级用法
1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性. 首先,打开我们的浏览 ...