根据文件名获取文件

  /// <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#文件和目录的操作的更多相关文章

  1. FileDirLocationOperator - 文件或目录位置操作.

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Move ...

  2. Perl文件、目录常用操作

    注意,这些操作的对象是文件名(相对路径/绝对路径),而非文件/目录句柄,句柄只是perl和文件系统中文件的关联通道,而非实体对象. 创建文件 在unix类操作系统中有一个touch命令可以非常方便的创 ...

  3. 【node】fs模块,文件和目录的操作

    检查文件是否存在,查询文件信息 fs.stat() fs.stat('./server.js', function (err, stat) { if (stat && stat.isF ...

  4. Java——文件及目录File操作

    API file.listFiles(); //列出目录下所有文件及子目录fileList[i].isFile() //判断是否为文件 fileList[i].isDirectory() //判断是否 ...

  5. Python之文件操作:文件、目录的操作

    一.创建 1.创建文件 open(path,'w') 2.创建目录 (1)os.mkdir(pt[, mode=0777]) 新建一个目录pt,参数mode表示生成的目录的权限,默认是超级权限,也就是 ...

  6. 12 hdfs常用文件、目录拷贝操作、删除操作

    package com.da.hbase.tool.utils; import com.da.hbase.tool.common.Const; import org.apache.hadoop.con ...

  7. Java NIO.2 —— 文件或目录拷贝操作

    拷贝整个文件树是可以递归每个目录和文件调用 Files.copy()方法.在使用的时候有一下注意事项. 在往目录拷贝文件之前,首先要保证目录已经存在.拷贝源目录(不论是否为空)都会生成目标目录.整个任 ...

  8. Java NIO.2 —— 文件或目录删除操作

    文件删除 删除单个文件的操作很简单,如果要删除一个目录树的话,需要实现FileVisitor 接口然后递归地调用delete() 或deleteIfExists()方法.在看代码之前,需要注意一下问题 ...

  9. 【QT相关】文件、目录基础操作

    判断目录是否存在: QString proFile(t_path); proFile.append("/dir"); QFileInfo proFileInfo(proFile); ...

  10. Python中对文件和目录的操作

    用到的核心模块有:os   shutil 文件的创建:f = open("文件名", "w")  注:如果涉及到乱码问题需要在后面加上encoding=&quo ...

随机推荐

  1. [转] 实现winfrom进度条及进度信息提示,winfrom程序假死处理

    china_xuhua 原文地址 1.方法一:使用线程 功能描述:在用c#做WinFrom开发的过程中.我们经常需要用到进度条(ProgressBar)用于显示进度信息.这时候我们可能就需要用到多线 ...

  2. Delphi IOS 后台定时器

    3.这里有一个问题,就是客户端是通过心跳来和服务端保持连接,心跳是由定时器触发的,当我退到后台以后,定时器方法被挂起,那么通过如下设置来在后台运行定时器 beginBackgroundTaskWith ...

  3. 如何在windows下安装mongoDB扩展

    安装环境   系统环境:Windows 10 64位   Apache版本:2.4.9   PHP版本:5.5.12   MongoDB版本:3.2.6   Wamp版本:wamp 2.5 86位   ...

  4. Sqlserver中查找包含某一列的所有的表

    select cols.name,cols.id,objs.name,objs.id from syscolumns cols INNER JOIN sysobjects objs on cols.i ...

  5. Callable接口使用以及计算斐波那契数字的数值总和

    一.简单使用 Runnable是执行工作的独立任务,但是它不返回任何值.如果你希望任务完成的时能够返回一个值,那么可以实现一个Callable接口.在Java SE5中引入的Callable是一种具有 ...

  6. ubuntu mysql导出数据库及数据

    mysqldump -u root -p mask_rcnn_realsense > /home/luo/mask_rcnn_realsense1.sql

  7. Solidity智能合约调用智能合约

    来源:https://medium.com/@blockchain101/calling-the-function-of-another-contract-in-solidity-f9edfa921f ...

  8. [C++] CONST 2

    The C++ 'const' Declaration: Why & How The 'const' system is one of the really messy features of ...

  9. p2944 [USACO09MAR]地震损失2Earthquake Damage 2

    传送门 分析 我们让s到1,关键点到t分别连流量为inf的边 于是我们可以考虑跑s到t的最小割 于是我们将所有点拆为两个点,关键点和1的两个点之间连inf,其余点连1 将原图的边也连上,流量为inf ...

  10. Python爬虫入门四之Urllib库的高级用法

    1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性. 首先,打开我们的浏览 ...