c#文件夹常用操作,属性设置,遍历、压缩

全栈工程师开发手册 (作者:栾鹏)
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压缩解压缩

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

腾讯AI架构师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值