1.0 开启文件隐藏属性
string fileName = "text.txt"; if (!File.Exists(fileName))//判断文件是否存在 { File.Create(fileName);//创建一个文本文件 } //判断文件夹是否已经具有隐藏属性 if ((File.GetAttributes(fileName)&FileAttributes.Hidden)!=FileAttributes.Hidden) { File.SetAttributes(fileName, FileAttributes.Hidden);//将文本文件隐藏属性开启 }
1.1开启文件夹只读属性
string directoryName = "test"; if (!Directory.Exists(directoryName))//判断文件夹是否存在 { Directory.CreateDirectory(directoryName);//创建文件夹 } //获取文件夹访问控制列表 DirectorySecurity dirSecurity = Directory.GetAccessControl(directoryName); //将指定访问控制列表添加到当前文件夹 dirSecurity.AddAccessRule(new FileSystemAccessRule("Admin", FileSystemRights.Read, InheritanceFlags.None, PropagationFlags.InheritOnly, AccessControlType.Allow));//这里的 Admin 字符串是 系统的用户名,否则会报错 Directory.SetAccessControl(directoryName, dirSecurity);//设置文件夹访问控制列表
1.0与1.1 比较
不同之处: 一个是文件一个是文件夹,所以在判断文件和文件夹是否存在的时候 用的类不同 ,分别是File 和 Directory
下面对这两个类给个初步说明
File :提供用于创建、复制、删除、移动和打开文件的静态方法,并协助创建 System.IO.FileStream 对象。
Directory:公开用于创建、移动和枚举通过目录和子目录的静态方法。 此类不能被继承。
处理文件会经常使用这2个类
1.3 输出子文件夹路径
static void Main(string[] args) { string path = @"D:\study\2015年\文件系统\01\01"; DisplayDirectories(path); } static void DisplayDirectories(string path) { DirectoryInfo directoryInfo = new DirectoryInfo(path); Console.WriteLine(directoryInfo.FullName);//输出文件夹信息 foreach (DirectoryInfo DI in directoryInfo.GetDirectories()) { DisplayDirectories(DI.FullName);//输出子文件夹信息 } }
这里介绍下 DirectoryInfo 类 :公开用于创建、移动和枚举目录和子目录的实例方法。 此类不能被继承。
今天就统计到这里,会持续跟进!
时间: 2024-10-20 07:30:52