根据文件名获取文件

  /// <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. 一分钟学会 ConstraintLayout 之从属性角度理解布局

    ConstraintLayout 在 Android 开发中,我们通常是手写布局,很少会用拖动来写布局,虽然 ConstraintLayout 在 I/O 上以拖动来展现了各种功能,我估计在以后开发中 ...

  2. delphi 线程 TTask

    http://docwiki.embarcadero.com/Libraries/Seattle/en/System.Threading.TTask http://docwiki.embarcader ...

  3. 如何理解dart的mixin

    mixin翻译出来就是混入的意思 混入,就是一个类可以使用另一个类里的功能比如方法或者属性,其实这个功能并不陌生 ,有点类似c#里的扩展方法,但是并不同于, mixin和implements有着本质的 ...

  4. MaxScript 学习笔记【有转载】

    1. string string类型的变量是一个数组,下列操作合法:strName = $.name -- output: "Shemmy_03" strName[1] --得到字 ...

  5. Perl 获取时间函数

    Perl 时间日期 Perl中处理时间的函数有如下几种:    1.time() 函数:返回从1970年1月1日起累计的秒数    2.localtime() 函数:获取本地时区时间(多用这个)    ...

  6. Quartz_2_简单编程式任务调度使用(CronTrigger)

    第二个要介绍的任务调度器中的触发器是 CronTrigger ,相比较 SimpleTrigger 来说,CronTrigger 相对灵活,对于复杂的业务需求来说,更加的实用.要在使用 CronTri ...

  7. @property 修饰符

    原子性--- nonatomic 特质 在默认情况下,由编译器合成的方法会通过锁定机制确保其原子性(atomicity).如果属性具备 nonatomic 特质,则不使用同步锁.请注意,尽管没有名为“ ...

  8. 不同Hadoop模式下,Hive元数据文件存储位置

    假如在hive的配置文件hive-site.xml中,属性hive.metastore.warehouse.dir被设置为/root/hive/warehouse. 如果Hadoop是本地模式,则仓库 ...

  9. 19-字符切割函数c++模板

    https://www.cnblogs.com/stonebloom-yu/p/6542756.html #include <cstring> #include <cstdio> ...

  10. 2-R型聚类

    将相似的属性聚合在一起 clc, clear; % a = load('E:\a-建模\<数学建模算法与应用>课件资源\数学建模算法与应用\程序及数据\10第10章\gj.txt'); a ...