.net对文件的操作之对文件目录的操作
.NET 提供一个静态File类用于文件的操作,下面列出它的主要操作方法。
| 返回值类型 | 方法名称 | 说明 |
| bool | Exists(string path) | 用于检查指定文件是否存在 |
| void | Copy(string sourceFilePath,string destinationFilePath) | 将指定路径的源文件中的内容复制到目标文件中,如果目标文件不存在,则在指定的路径中新建一个文件 |
| void | Move(string sourceFileName,string destFileName) | 将指定文件移到一个新的路径 |
| void | Delete(string path) | 删除指定的文件,如果指定的文件不存在,则不引发异常 |
示例:
//C#中对“\”需要转义,“\\”转义为\,或者在前面加@
static void Main(string[] args)
{
string path = @"F:\test.txt";
//文件存在检测
if (File.Exists(path))
{
Console.WriteLine("文件存在");
//文件复制
File.Copy(path,@"F:\b.txt");
if (File.Exists(@"F:\b.txt"))
{
Console.WriteLine("文件复制成功!");
}
//文件移动
File.Move(path, "F:\\db\\c.txt");
if (File.Exists("F:\\db\\c.txt"))
{
Console.WriteLine("文件移动成功");
}
//文件删除
File.Delete(@"F:\b.txt");
if (!File.Exists(@"F:\b.txt"))
{
Console.WriteLine("文件删除成功!");
}
}
Console.ReadKey();
}

操作目录(文件夹)的静态类:Directory
| 返回值类型 | 方法名称 | 说明 |
| bool | Exists(string path) | 用于检查文件夹在磁盘上是否存在 |
| void | Move(string sourceDirName,string destDirName) | 用于将文件或目录及其内容移到新位置 |
| void | Delete(string path,bool recursive) | 删除指定目录,如果recursive的值为true,则删除子目录中的所有目录内容;如果要删除的目录下有内容而没有设置recursive为true则会抛出异常! |
实例类:FileInfo
属性 说明
Exists 用于检查指定文件是否存在,返回一个布尔值
Extension 获取表示扩展名部分的字符串,带.
Name 获取文件名
FullName 获取目录或文件的完整目录
| 返回值类型 | 方法 | 说明 |
| FileInfo | CopyTo(string) | 将现有文件复制到新文件,不允许覆盖现有文件 |
| void | Delete() | 永久删除文件 |
| void | MoveTo(string) | 将指定文件移到新位置(string) |
DirectoryInfo类和Directory类类似
//目录
DirectoryInfo di = new DirectoryInfo(@"F:\");
//返回传入目录的子目录
DirectoryInfo[] dirs = di.GetDirectories();
//返回传入目录下的文件列表
FileInfo[] files = di.GetFiles();
File类和FileInfo类都能操作文件,什么样的情况更适合哪个类?
File类的静态方法会在使用时进行安全检查,所以如果想多次使用某个文件对象,可以考虑FileInfo类。Directory和DirectoryInfo一样的道理。
附上文件操作做的小项目截图(使用了TreeView和ListView):

.net对文件的操作之对文件目录的操作的更多相关文章
- 详解ios文件系统文件目录读写操作-备用
iPhone文件读写系统操作教程是本文要介绍的内容,对于一个运行在iPhone得app,它只能访问自己根目录下得一些文件(所谓sandbox).一个app发布到iPhone上后,它得目录结构如下: ...
- [原创]使用python对视频/音频文件进行详细信息采集,并进行去重操作
[原创]使用python对视频/音频文件进行详细信息采集,并进行去重操作 转载请注明出处 一.关于为什么用pymediainfo以及pymediainfo的安装 使用python对视频/音频文件进行详 ...
- PHP之文件目录基础操作
我们知道,临时声明的变量是保存在内存中的,即便是静态变量,在脚本运行完毕后也会被释放掉,so,想长久保存一个变量的内容,方法之一就是写到文件中,放到硬盘或服务器上,为此文件操作就必须很熟悉. 1.文件 ...
- FileUtils【获取SD卡根目录、读写文件、移动、复制、删除文件、获取文件名、后缀名操作类】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 封装了获取SD卡根目录路径.以及对文件读写.获取文件名等相关操作. 因为需要用到android.permission.READ_EX ...
- -1-4 java io java流 常用流 分类 File类 文件 字节流 字符流 缓冲流 内存操作流 合并序列流
File类 •文件和目录路径名的抽象表示形式 构造方法 •public File(String pathname) •public File(String parent,Stringchild) ...
- python文件(概念、基本操作、常用操作、文本文件的编码方式)
文件 目标 文件的概念 文件的基本操作 文件/文件夹的常用操作 文本文件的编码方式 01. 文件的概念 1.1 文件的概念和作用 计算机的 文件,就是存储在某种 长期储存设备 上的一段 数据 长期存储 ...
- 无法打开物理文件“E:\Database\VRVIES6841-FZ01-Global\VRVEIS.mdf”。操作系统错误 5:“5(拒绝访问。)”
在用SQLServer2012附加SQLServer2000备份的数据库事,报如下错误: 无法打开物理文件“E:\Database\VRVIES6841-FZ01-Global\VRVEIS.mdf” ...
- 基于Git的数据库sql文件的管理——完美解决团队sql操作协同问题
目录 基于Git的数据库sql文件的管理--完美解决团队sql操作协同问题 1.产生背景 2.之前没用Git管理数据库出现的问题 2.1 用同一个库调试带来的问题 3.解决方案 3.1 Sql文件的创 ...
- laravel文件存储、删除、移动等操作
laravel文件存储.删除.移动等操作 一.总结 一句话总结: 启示:可以在操作遇到问题的时候,找文档找实例好好实验一下,也就是学习巩固一下,不必一定要死纠排错 1.laravel文件删除注意? 1 ...
随机推荐
- cocoapods出现Diff: /../Podfile.lock: No such file or directory错误
第一种解决方法: 关闭Xcode,重新执行pod install,之后再重新打开Xcode运行. 第二种解决方法: 删除以下文件: xcworkspacePodfile.lockPods文件夹~/Li ...
- 利用Format函数格式化时间和日期
在做机房收费系统的时候,因为需要使用到日期进行查询,所以在数据表中没有使用自动添加日期的功能,而是采用了自定义的格式插入.但由于事先没有对时间转换的格式进行统一,导致后面查询时出现的问题不断. 插入时 ...
- redis php
redis php 学习1.连接$redis = new redis();$result = $redis->connect('127.0.0.1',6379); 2.set$redis = n ...
- Python自动化运维之2、运算符与数据类型
python对象的相关术语: python程序中保存的所有数据都是围绕对象这个概念展开的: 程序中存储的所有数据都是对象 每个对象都有一个身份.一个类型和一个值 例如,school='MaGe Lin ...
- 浮点数比较问题(float x 与 '零值'比较)
今天在牛客网上看到一道面试题,看完之后着实吃了一惊,自己平常都没有在意,看似简单的问题,实则考验了语言的基本功. 据说这是腾讯的面试题: float x 与“零值”比较的if语句为? if (x == ...
- Android 之 Spinner
1:activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/androi ...
- java多线程下单例的实现
Abstract 在开发中,如果某个实例的创建需要消耗很多系统资源,那么我们通常会使用惰性加载机制,也就是说只有当使用到这个实例的时候才会创建这个实例,这个好处在单例模式中得到了广泛应用.这个机制在s ...
- 转: Python 运算符与用法
+加两个对象相加 3 + 5得到8.'a' + 'b'得到'ab'. (注意:6+'a'这样是错误的,但在PHP里这样是可以运行的) -减得到负数或是一个数减去另一个数 -5.2得到一个负数.50 - ...
- 【HDOJ】1513 Palindrome
DP,MLE后改为滚动数组AC. #include <cstdio> #include <cstring> #include <cstdlib> #define M ...
- git中的常用指令名及其意义
add 添加新文件到 Git 代码仓库的索引中 $ git add filename mv 移动或重命名文件 $ git mv old-filename new-filename rm 从工作目录和 ...