.NET 下 C#操作文件的常用方法总结

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

.NET 下 C#操作文件的常用方法总结的相关文章

UNICODE环境下读写txt文件操作

内容转载自http://blog.sina.com.cn/s/blog_5d2bad130100t0x9.html UNICODE环境下读写txt文件操作 (2011-07-26 17:40:05) 标签: 杂谈 分类: MFC程序设计 自己动手整理了一下,写了几个函数,用于UNICODE环境下对txt文本文件的操作,针对txt文本的ANSIC编码格式,进行了字符编码格式的转换.***********************************************************

Mac下Eclipse常用文件操作和快速定位快捷键

又用回了Eclipse,才发现好多快捷键都已遗忘,长这么大,又有多少事情最后都是会被遗忘了的呢. --致即将慢慢遗忘的青春. Cmd + 3:快速访问>快速访问Eclipse的各种内容,包括编辑器,导航,窗口,命令,快捷操作等等. Cmd + Shift + T: 打开类型>显示"Open Type Hierarchy"对话框来在编辑器中打开类型.比如类.接口等. Cmd + Shift + R: 打开资源>打开"Open Resource"对话框

Linux环境下实现对文件读写操作

---- 今天分享一下在linux系统在实现对文件读写一些基本的操作,在这之前我们要掌握一些基本的技能在Linux环境下.比如查看命令和一个函数的具体用法,就是相当于查手册,在Linux下有一个man手册非常有用:man查询手册man 1 +命令 这里的1表示为查询的是Linux命令man 2 xxx 这里的2表示为查询的是linux apiman 3 xxx 这里的3表示为查询的是c库函数在了解了这个后我们就可以开始来实现标题说的操作了.一.在linux环境下常用文件接口函数:open.clo

操作文件和目录

1. 如果要操作文件.目录,可以在命令行下面输入操作系统提供的各种命令来完成:比如,dir.cp等命令 如果要在Python程序中执行这些目录和文件的操作怎么办??其实操作系统提供的命令只是简单地调用了操作系统提供的接口函数,Python内置的os模块也可以直接调用操作系统提供的接口函数 >>>import os >>>os.name >>>'posix' 如果是posix,说明系统是Linux.Unix或Mac OS X:如果是nt,就是Window

Python操作文件文档

需要帮老师将44G的图书分类一下,人工当然累死了.所以用Python大法处理一下. 思路是读取文件目录下的书名,然后去百度百科查分类,如果还没有就去豆瓣,当当查.哪一个先找到其余的就不用找了.如果没有找到先不进行一下处理 ,当找到分类以后就开始将文件加入制定文件夹下的分类(如果没有分类文件夹则自动创建).当所有可以通过网络分类的书进行分类之后,剩余的书就通过划分关键字进行下一次的分类.目前先附上需要查询的资料.等44G在服务器上解压完毕,处理成功之后上代码. os.listdir(os.getc

IO编程、操作文件或目录、序列化、JSON

IO中指Input/Output,即输入和输出:涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口 1.由于CPU和内存的速度远远高于外设的速度,所以,在IO编程中,存在速度严重不匹配问题.eg:把100M的数据写入磁盘,CPU输出100M的数据只需要0.01秒,可是磁盘接收100M数据可能需要10秒,怎么办呢,有两种办法: ①.CPU等着,也就是程序暂停执行后续代码,等100M数据在10s后写入磁盘,再接着往下执行,这种模式称为同步IO ②.CPU不等待,只是告诉磁盘,"慢慢写,不着急,

[19/04/04-星期四] IO技术_CommonsIO(通用IO,别人造的轮子,FileUtils类 操作文件 & IOUtilsl类 操作里边的内容 )

一.概念 JDK中提供的文件操作相关的类,但是功能都非常基础,进行复杂操作时需要做大量编程工作.实际开发中,往往需要 你自己动手编写相关的代码,尤其在遍历目录文件时,经常用到递归,非常繁琐. Apache-commons工具包中提供了IOUtils/FileUtils,可以让我们非常方便的对文件和目录进行操作. Apache软件基金会(也就是Apache Software Foundation,简称为ASF),是专门为支持开源软件项目而办的一个非盈利性组织. 在它所支持的Apache项目与子项目

linux下SVN忽略文件/文件夹的方法

linux下SVN忽略文件/文件夹的方法 假设想忽略文件temp 1. cd到temp所在的目录下: 2. svn propedit svn:ignore . 注意:请别漏掉最后的点(.表示当前目录),如果报错请看下面 3. 打开的文件就是忽略列表文件了(默认是空的),每一行是一项,在该文件中输入temp,保存退出 4. svn st查看状态,temp的?状态已经消除了 如果在svn propedit svn:ignore .时报错:svn: None of the environment va

eclipse maven工程中src/main/resources目录下创建的文件夹是包图标的解决方法

如图:在src/main/resources目录下创建的文件夹却以包的图标显示  修改方法: 入下图,按顺序1 ,2,3,4操作,把3处remove,在4处添加**  修改后如下:  然后点击完成后,文件夹图标显示正常了