![](https://i-blog.csdnimg.cn/blog_migrate/11ab61846568f7310c1fec6b75306fcd.jpeg)
全栈工程师开发手册 (作者:栾鹏)
c#教程全解
c#文件夹常用操作,属性设置,遍历、压缩
1、文件夹属性设置
c#使用设置文件夹属性,将文件夹设置为隐藏的、系统的、只读的。
测试代码
static void Main()
{
hide("D:\\ppt");
}
隐藏设置,通过将文件夹设置为隐藏的、系统的来设置隐私文件。
public static bool hide(string dirpath)
{
if (dirpath != "")
{
DirectoryInfo dir = new DirectoryInfo(dirpath);
//dir.Attributes = FileAttributes.System | FileAttributes.Hidden | FileAttributes.ReadOnly;
dir.Attributes |= FileAttributes.System;
dir.Attributes |= FileAttributes.Hidden;
return true;
}
return false;
}
只有在文件夹选项中将“隐藏受保护的操作系统文件”取消勾选,将“显示隐藏的文件、文件夹和驱动”选中才能看到代码隐藏后的文件夹。
恢复显示文件夹代码
public static bool show(string dirpath)
{
if (dirpath != "")
{
DirectoryInfo dir = new DirectoryInfo(dirpath);
dir.Attributes &= ~FileAttributes.System;
dir.Attributes &= ~FileAttributes.Hidden;
dir.Attributes &= ~FileAttributes.ReadOnly;
return true;
}
return false;
}
2、文件夹遍历
通过迭代获取文件夹内所有后代文件的路径。
public static List<String> getallfile(string dir)
{
List<string> allfilepath = new List<string>();
DirectoryInfo thefolder = new DirectoryInfo(dir);
foreach (FileInfo nextfile in thefolder.GetFiles())
{
allfilepath.Add(nextfile.FullName);
}
foreach (DirectoryInfo dir1 in thefolder.GetDirectories())
{
List<string> filetemp = getallfile(dir1.FullName);
for (int i = 0; i < filetemp.Count;i++ )
{
allfilepath.Add(filetemp[i]);
}
}
return allfilepath;
}
3、文件夹压缩
文件夹压缩请参考zip压缩解压缩