File & Directory
新开一节IO(Input/Output)的用法。
这节主要讲一下操作文件和文件目录的两个静态类:File 和 Directory。
在进入正题之前,先理解一下相对路径和绝对路径这两个概念:
绝对路径,是指从盘符开始的路径,如:C:/user/desktop
相对路径,是指相对于当前目录的路径访问形式,“ . ”代表当前目录(不加点的话,默认访问当前目录),“ .. ”代表上一级目录,如果我们要访问当前目录的名为demo.txt的文件,可以这样写:./demo.txt,或者访问上一级的demo.txt文件:../demo.txt,相对路径的好处是不容易出现路径失效的问题。使用绝对路径,如果盘符更改后,原来指定旧盘符的路径都会失效,而相对路径因为不涉及盘符,则不会出现这种问题。
File
File类是操作文件的一个静态类,可以实现对文件的创建,复制,移动等操作。下面通过例子来演示下常用的操作:
创建文件:
File.Create("demo.txt");
if(File.Exists("demo.txt"))
Console.WriteLine("demo.txt文件已创建");
运行结果为:demo.txt文件已创建
在当前运行目录的文件夹下也可以看到该文件已被创建:

复制和移动文件:
这两个方法的用法是一样的,只不过一个是复制,源文件还在,一个是移动,源文件不在:
File.Copy("demo.txt","demo1.txt");//复制
File.Move("demo1.txt","demo1.txt");//移动
这两个方法的参数都是源文件路径,目标路径。不过要注意,不能与目标路径中的文件重名,windows下不允许重名文件。
打开文件:
使用Open()方法打开一个文件,该方法返回FileStream类的对象,可以对文件进行数据操作,本节不讲文件读写,请读者关注下一节。
删除文件:
File.Delete("demo.txt");
删除文件时,如果文件不存在,不会报错
Directory
创建目录:
Directory.CreateDirectory("Test");
使用CreateDirectory()方法创建一个目录,运行完毕后可以在运行目录下找到新建的目录:

移动和删除:
目录类没有复制方法,只有移动和删除方法,同样的也是使用Delete()和Move()方法,此处不再演示。
获取子目录和子文件:
为了演示,我现在Test目录下新建几个目录和文件:

使用GetDirectories()方法获取某路径下的目录:
var dirs = Directory.GetDirectories("Test");
foreach (var dir in dirs){
Console.WriteLine(dir);
}
运行结果:

使用GetFiles()获取某目录下的文件:
var dirs = Directory.GetFiles("Test");

使用GetFileSystemEntries()方法可以将目录下的目录和文件都获取到,用法同上,此处不再演示。
更多方法请读者查阅相关文档,用法都很简单。
这是我的公众号二维码,获取最新文章,请关注此号

File & Directory的更多相关文章
- wins和linux 系统不同编码格式导致的.py执行问题: bad interpreter: No such or file directory
我在win7上用IDLE编写了一个python文件(MyTopo.py),但是用putty传到VM中的ubuntu系统中,用 ./MyTopo方式执行. 显示: /bin/sh^M: bad inte ...
- adb pull 报错处理:adb: error: cannot create file/directory 'E:\': No such file or directory
adb pull /sdcard/1.txt e:/ 报错:adb: error: cannot create file/directory 'E:\': No such file or direct ...
- 操作文件方法简单总结(File,Directory,StreamReader,StreamWrite )
对于文件夹,文档的操作一直处于一知半解状态,有时间闲下来了,好好练习了一把,对文档,文件的操作有了一个基本的认知, 若要深入了解,还是得通过实际的项目才行了,好了废话不多说,上酸菜!! 注:红色标题为 ...
- Linux File、File Directory IO Operation Summary(undone)
目录 . 引言 . Linux下文件操作API . Linux下文件目录操作API . Linux下的其他设备操作API 1. 引言 Linux支持多种文件系统,如ext.ext2.minix.iso ...
- 操作文件方法简单总结(File,Directory,StreamReader,StreamWrite ) - Zery-zhang
一 基本介绍 操作文档,文件夹,需要用到的类 1 Directory (静态类) : 用于创建.移动和删除等操作通过 目录 和子 目录 DirectoryInfo (非静态): 2 File ...
- 操作文件方法简单总结(File,Directory,StreamReader,StreamWrite )(转载)
本文转自http://www.cnblogs.com/zery/p/3315889.html 对于文件夹,文档的操作一直处于一知半解状态,有时间闲下来了,好好练习了一把,对文档,文件的操作有了一个基本 ...
- Tag file directory /struts-tags does not start with "/WEB-INF/tags"
使用自定义标签,记得引用路径 <%@taglib prefix="s" uri="/struts-tags" %>
- [翻译]NUnit---String && Collection && File && Directory Assert (七)
StringAssert (NUnit 2.2.3) StringAssert类提供一系列检查字符串的方法. CollectionAssert (NUnit 2.4 / 2.5) Collection ...
- System.IO中的File、FileInfo、Directory与DirectoryInfo类(实例讲解)
一.建立的文件夹(对这些文件进行以上四个类的操作): 父目录: 父目录的子目录以及父目录下的文件: 子目录下的文件: 二.效果图 三.代码实现 using System; using System.I ...
随机推荐
- Quartz基础使用
Quartz基本组成部分: 调度器:Scheduler 任务:JobDetail 触发器:Trigger,包括SimpleTrigger和CronTrigger . using Quartz; usi ...
- IPFS挖矿必须要托管吗?
IPFS 本质上只是一个人人使用的协议,而 Filecoin 是 IPFS 的激励层,大家平时说的 IPFS 挖矿,其实就是挖 Filecoin.而提到IPFS 就不得不说到矿机托管的问题. 点击了解 ...
- ethtool - 命令
ethtool 导览: 1. 如何查看 Linux 中可用的网卡接口 2. 如何查看 Linux 中网卡信息 3. 如何查看网卡驱动版本以及硬件版本 4. 如何查看网络 ...
- .NET Core 环境变量详解
一.概述 软件从开发到正式上线,在这个过程中我们会分为多个阶段,通常会有开发.测试.以及上线等.每个阶段对应的环境参数配置我们会使用不同的参数.比如数据库的连接字符串,开发环境一般我们都是连接的测试库 ...
- JAVA题目:小芳的妈妈每天给她2.5元,她都会存起来,但是,每当这一天是存钱的第五题或者5的倍数的话,她都会去用掉6块钱。 问:至少经过多少天可以存到100块?
1 /*题目:小芳的妈妈每天给她2.5元,她都会存起来, 2 但是,每当这一天是存钱的第五题或者5的倍数的话, 3 她都会去用掉6块钱. 4 问:至少经过多少天可以存到100块? 5 */ 6 /*分 ...
- 全面了解Vue3的 reactive 和相关函数
Vue3的 reactive 怎么用,原理是什么,官网上和reactive相关的那些函数又都是做什么用处的?这里会一一解答. ES6的Proxy Proxy 是 ES6 提供的一个可以拦截对象基础操作 ...
- Java基础回顾_第一部分
Java基础回顾 基本数据类型 数值类型 什么是字节? 位(bit):是计算机中数据的最小单位 字节(byte):是计算机中数据处理的基本单位,习惯上用大写字母B来表示 1 B = 8 bit 字符: ...
- SqlServer存储过程应用二:分页查询数据并动态拼接where条件
前言 开发中查询功能是贯穿全文的,我们来盘一盘使用存储过程分页查询,并且支持动态拼接where条件. 划重点:支持动态拼接where条件 对存储过程的使用有疑问的同学去[SqlServer存储过程的创 ...
- SpringBoot 使用逆向工程 构建Mapper.xml Dao层(持久层) 实体类
逆向工程 注: 有数据库表即可 第一步为创建数据库表 (可选)使用PowerDesigner设计数据库表,物理模型构建 添加pom.xml 逆向工程生成代码插件 <!--plugin 逆向工程生 ...
- 手写Spring DI依赖注入,嘿,你的益达!
目录 提前实例化单例Bean DI分析 DI的实现 构造参数依赖 一:定义分析 二:定义一个类BeanReference 三:BeanDefinition接口及其实现类 四:DefaultBeanFa ...