IO基础操作(Path,Directory)

本文介绍了C#中的IO基础操作,重点讲解了Path类的常用方法,如改变文件扩展名、路径拼接、获取扩展名等,并展示了Directory类在创建、删除、移动文件夹以及获取子目录和文件上的应用。此外,还通过示例演示了DirectoryInfo如何递归获取目录下的文件和文件夹。内容涵盖了IO操作的基础知识点,适合初学者参考学习。
摘要由CSDN通过智能技术生成

IO基础操作(一.Path,Directory)

一.基本概念:
文件夹:
用来管理计算机文件的,每一个文件夹对应着磁盘的一个空间地址,没有符号没有扩展名。
文件:
一个具有符号的一组相关元素的有序序列。文件可以包含的内容十分的广泛。系统和用户都可以将具有一定功能的程序模块,数据等命名为一个文件。
流:
字节序列可用于对于后备数据的读写
二.IO命名空间的常用类:
FileInfo,Direcationary,DicInfo,Path,StreamWrite,StreamWrite,FileStream,MemoryStream,
MemoryStream,BufferedStream,BinaryReder,BinaryWriter,StringReader,StringWrite,Stream,
TextWriter,TextReader…
三。Path类的常用方法:

public void PathEx()
        {
            string path = @"d:\testFiles";
            string path2 = @"test\file.txt";
            Path.ChangeExtension(path2, "doc");   //改变文件的扩展名
            string newPath = Path.Combine(path, path2);   //进行路径的拼接
            Path.GetExtension(path2);  //获取文件的扩展名
            Path.GetFileName(path2);  //获取文件的扩展名
            Path.GetFileNameWithoutExtension(path2);//获取不带扩展名的文件名字s
            Path.HasExtension(path2);   //路径中是不是包含扩展名
            Path.GetFullPath(newPath);   //获取全路径
        }

二.Directory操作:
在这里插入图片描述
Directory的使用:
(1)创建文件夹:

  string path = @"d:\ABC\enf";
            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }

(2)删除文件夹

Directory.Delete(path,false);  //其中的false表示不删除文件夹中的子目录以及文件,如果为true的时候,如果包含子目录的时候就不能删除

(3)移动文件夹

Directory.Move(path1,path2);

(4)获取子目录的列表

string[] vs = Directory.GetDirectories(path);

(5)获取目录下所有的文件:

  string[] Files = Directory.GetFiles(path);//获取该目录下的所有文件

DirectoryInfo的使用:
(1)递归加载某个目录下面的所有 的文件夹以及文件:

  private void getChildDicsAndFiles(string path, List<string> dicList) {
            DirectoryInfo directoryInfo = new DirectoryInfo(path);
            DirectoryInfo[] directoryInfos = directoryInfo.GetDirectories();
            FileInfo[] fileInfos = directoryInfo.GetFiles();
            dicList.AddRange(fileInfos.Select(x => x.FullName));
            foreach (var dic in directoryInfos)
            {
                dicList.Add(dic.FullName);
                getChildDicsAndFiles(dic.FullName, dicList)           }
        }

(2)其他操作:这些操作其实和Directory中的方法是对应起来的,可以对比着来看;

    public void DicInfoExample()
        {
            string path = @"d:\ABCD\TEST";
            DirectoryInfo directoryInfo = new DirectoryInfo(path);
            directoryInfo.Create();  //创建子目录
            directoryInfo.MoveTo(目标路径);
            directoryInfo.Delete(false);  //有子目录不能删除
            directoryInfo.Delete(true);//有子目录可以删除
        }

总结:
以上就是我对于IO中路径以及文件夹操作的理解,后续还有其他相关的操作,欢迎大家指正!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值