IO基础操作(Path,Directory)

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操作:
IO基础操作(Path,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中路径以及文件夹操作的理解,后续还有其他相关的操作,欢迎大家指正!!

上一篇:Linux ln 命令


下一篇:python小记