根据文件名获取文件

  1. /// <summary>
  2. /// 根据文件名获取文件
  3. /// </summary>
  4. /// <param name="directory"></param>
  5. /// <param name="fileName"></param>
  6. /// <param name="searchOption"></param>
  7. /// <returns></returns>
  8. private FileInfo[] GetFile(string directory, string fileName, SearchOption searchOption)
  9. {
  10. DirectoryInfo directoryInfo = new DirectoryInfo(directory);
  11. if (!directoryInfo.Exists)
  12. return null;
  13.  
  14. return directoryInfo.GetFiles(fileName, searchOption);
  15. }

删除过期目录

  1. /// <summary>
  2. /// 删除过期目录
  3. /// </summary>
  4. /// <param name="directory">根目录</param>
  5. /// <param name="day">期限</param>
  6. /// <returns></returns>
  7. private int DelectOverdueDirectorys(string directory, int day)
  8. {
  9. DirectoryInfo directoryInfoRoot = new DirectoryInfo(directory);
  10. if (!directoryInfoRoot.Exists)
  11. return ;
  12.  
  13. DirectoryInfo[] directoryInfos = directoryInfoRoot.GetDirectories();
  14. foreach (var directoryInfo in directoryInfos)
  15. {
  16. if (DateTime.Now.Subtract(directoryInfo.CreationTime).TotalDays > day)
  17. directoryInfo.Delete(true);
  18. }
  19.  
  20. return ;
  21. }

删除过期文件

  1. /// <summary>
  2. /// 删除过期文件
  3. /// </summary>
  4. /// <param name="directory">根目录</param>
  5. /// <param name="day">期限</param>
  6. /// <returns></returns>
  7. private int DelectOverdueFiles(string directory, int day)
  8. {
  9. DirectoryInfo directoryInfoRoot = new DirectoryInfo(directory);
  10. if (!directoryInfoRoot.Exists)
  11. return ;
  12.  
  13. FileInfo[] fileInfos = directoryInfoRoot.GetFiles();
  14. foreach (var fileInfo in fileInfos)
  15. {
  16. if (DateTime.Now.Subtract(fileInfo.CreationTime).TotalDays > day)
  17. fileInfo.Delete();
  18. }
  19.  
  20. return ;
  21. }

设置目录隐藏

  1. /// <summary>
  2. /// 设置目录隐藏
  3. /// </summary>
  4. /// <param name="directory"></param>
  5. /// <returns></returns>
  6. private int SetDirectoryHide(string directory)
  7. {
  8. DirectoryInfo directoryInfo = new DirectoryInfo(directory);
  9. if (!directoryInfo.Exists)
  10. return ;
  11.  
  12. directoryInfo.Attributes = FileAttributes.Hidden;
  13. return ;
  14. }

目录加解锁

  1. string FileExtend = ".{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}";
  2.  
  3. /// <summary>
  4. /// 目录加锁
  5. /// </summary>
  6. /// <param name="directory"></param>
  7. /// <returns></returns>
  8. private int DirectoryEncrypt(string directory)
  9. {
  10. DirectoryInfo directoryInfo = new DirectoryInfo(directory);
  11. if (!directoryInfo.Exists)
  12. return ;
  13.  
  14. directoryInfo.MoveTo(directory + FileExtend);
  15. return ;
  16. }
  17.  
  18. /// <summary>
  19. /// 目录解锁
  20. /// </summary>
  21. /// <param name="directory"></param>
  22. /// <returns></returns>
  23. private int DirectoryDecrypt(string directory)
  24. {
  25. DirectoryInfo directoryInfo = new DirectoryInfo(directory + FileExtend);
  26. if (!directoryInfo.Exists)
  27. return ;
  28.  
  29. directoryInfo.MoveTo(directory);
  30. return ;
  31. }

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. iOS开发基础控件--UILabel

    UILabel 的常见属性和方法: //创建UIlabel对象 UILabel* label = [[UILabel alloc] initWithFrame:self.view.bounds]; / ...

  2. 深入探究jvm之GC的参数调优

    在上一篇博客记录了GC的算法及种类,这篇博客主要记录一下GC的参数如何调整以提高jvm的性能. 一.堆的回顾: 堆的内存空间总体分为新生代和老年代,老年代存放的老年对象,新构造的对象分配在eden区中 ...

  3. PHP中使用CURL模拟文件上传实例

    调用实例: 该方法将本地的E盘文件test.doc上传到接口服务器上的 uploadFile方法中,uploadFile会对上传的文件做进一步处理. 若你想自己对上传的文件做操作,将接口uploadF ...

  4. Linux环境下安装myeclipse+破解

    1.下载myeclipse安装包,下载myeclipse破解文件. 2.修改myeclipse-pro-2014-GA-offline-installer-linux.run的权限 sudo chmo ...

  5. 你不知道的高性能Javascript

    想必大家都知道,JavaScrip是全栈开发语言,浏览器,手机,服务器端都可以看到JS的身影. 本文会分享一些高效的JavaScript的最佳实践,提高大家对JS的底层和实现原理的理解. 数据存储 计 ...

  6. 调试bug心得

    1. 忌主观主义.遇到问题,优先考虑客观排除法,按模块一一屏蔽测试排除.忌自己认为某个模块里的某个逻辑有问题,一直研究修改测试,被其他模块导致的偶然事件所干扰.通过排除法,找到震源,再解决.

  7. 882. Reachable Nodes In Subdivided Graph

    题目链接 https://leetcode.com/contest/weekly-contest-96/problems/reachable-nodes-in-subdivided-graph/ 解题 ...

  8. JAVA本地调用(JNI- java调用c)

    记录一下工作内容,对术语了解不多,暂且这样记着吧.  java调用c 一.写jni的步骤如下: 1.创建java类,定义接口函数,使用native修饰: 2.将java类编译成class: 3.将cl ...

  9. C++编程语言学习资料

    C++ How to Program, 7/e (C++大学教程 第7版) 英文原版 全彩页 C++大学教程(第五版)中文版高清PDF下载 C++大学教程 第五版 (C++ How to Progra ...

  10. code1316 文化之旅

    文化之旅的本质是最短路问题,只不过添加了一个文化排斥,仅需要做最短路时判断一下是否排斥即可 因为数据较小,采用了Floyd算法,以下是代码,关键部分附注释: #include<iostream& ...