前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >File & Directory

File & Directory

作者头像
宿春磊Charles
发布2022-03-29 09:37:02
5700
发布2022-03-29 09:37:02
举报
文章被收录于专栏:DotNet 致知

新开一节IO(Input/Output)的用法。

这节主要讲一下操作文件和文件目录的两个静态类:File 和 Directory。

在进入正题之前,先理解一下相对路径和绝对路径这两个概念:

绝对路径,是指从盘符开始的路径,如:C:/user/desktop

相对路径,是指相对于当前目录的路径访问形式,“ . ”代表当前目录(不加点的话,默认访问当前目录),“ .. ”代表上一级目录,如果我们要访问当前目录的名为demo.txt的文件,可以这样写:./demo.txt,或者访问上一级的demo.txt文件:../demo.txt,相对路径的好处是不容易出现路径失效的问题。使用绝对路径,如果盘符更改后,原来指定旧盘符的路径都会失效,而相对路径因为不涉及盘符,则不会出现这种问题。

File

File类是操作文件的一个静态类,可以实现对文件的创建,复制,移动等操作。下面通过例子来演示下常用的操作:

创建文件:

代码语言:javascript
复制
File.Create("demo.txt");
if(File.Exists("demo.txt"))
   Console.WriteLine("demo.txt文件已创建");

运行结果为:demo.txt文件已创建

在当前运行目录的文件夹下也可以看到该文件已被创建:

复制和移动文件:

这两个方法的用法是一样的,只不过一个是复制,源文件还在,一个是移动,源文件不在:

代码语言:javascript
复制
File.Copy("demo.txt","demo1.txt");//复制
File.Move("demo1.txt","demo1.txt");//移动

这两个方法的参数都是源文件路径,目标路径。不过要注意,不能与目标路径中的文件重名,windows下不允许重名文件。

打开文件:

使用Open()方法打开一个文件,该方法返回FileStream类的对象,可以对文件进行数据操作,本节不讲文件读写,请读者关注下一节。

删除文件:

代码语言:javascript
复制
File.Delete("demo.txt");

删除文件时,如果文件不存在,不会报错

Directory

创建目录:

代码语言:javascript
复制
Directory.CreateDirectory("Test");

使用CreateDirectory()方法创建一个目录,运行完毕后可以在运行目录下找到新建的目录:

移动和删除:

目录类没有复制方法,只有移动和删除方法,同样的也是使用Delete()和Move()方法,此处不再演示。

获取子目录和子文件:

为了演示,我现在Test目录下新建几个目录和文件:

使用GetDirectories()方法获取某路径下的目录:

代码语言:javascript
复制
var dirs = Directory.GetDirectories("Test");
foreach (var dir in dirs)
{
    Console.WriteLine(dir);
}

运行结果:

使用GetFiles()获取某目录下的文件:

代码语言:javascript
复制
var dirs = Directory.GetFiles("Test");

使用GetFileSystemEntries()方法可以将目录下的目录和文件都获取到,用法同上,此处不再演示。

更多方法请读者查阅相关文档,用法都很简单。

本节到此结束...

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DotNet 致知 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档