.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 ...
随机推荐
- 托盘图标、气泡以及任务栏崩溃后的自动添加——Shell_NotifyIcon
托盘图标使用函数 Shell_NotifyIcon 创建.修改和删除,参数主要使用 NOTIFYICONDATA 结构. 任务栏启动时会给所有顶层窗口发送 TaskbarCreated 消息,由于不同 ...
- 【C++学习之路】派生类的构造函数(三)
三.多层继承的派生类 1.多层继承的派生类只需在构造函数的初始化列表中写出直接基类的构造函数即可 class student { public: student(int n, string nam) ...
- Java集合类笔试题
介绍Collection框架的结构 Collection接口是单值存放的最大父接口,可以向其中保存多个单值的数据(所谓单值就是指集合中的每个元素都是一个对象).其子接口主要有:List.Set.Que ...
- div边框阴影的实现【转载】
box-shadow:阴影水平偏移值(可取正负值): 阴影垂直偏移值(可取正负值):阴影模糊值:阴影颜色: Firefox支持Box Shadow(阴影):-moz-box-shadow:2px 2p ...
- PHPCMS V9 简单的二次开发
更多二次开发技巧,查看phpcms系统帮助 ,前台模板解析后的缓存 caches\caches_template\default 前台控制类index.php,前台标签类*_tag.class.php ...
- JS encode decode
网上查到的全都是escape,和需要的编码不是一回事,好不容易找到的结果 保存下来以备以后使用 js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent, ...
- Hive笔记--配置以及遇到的问题
ubuntu安装mysql http://www.2cto.com/database/201401/273423.html Hive安装: http://www.aboutyun.com/forum ...
- 大小写转换,split分割
一.大小写转换 1.定义和用法 toUpperCase() 方法用于把字符串转换为大写. toLowerCase() 方法用于把字符串转换为小写. 用法: stringObject.toUppe ...
- Swift—final关键字-b
在类的定义中使用final关键字声明类.属性.方法和下标.final声明的类不能被继承,final声明的属性.方法和下标不能被重写. 下面看一个示例: final class Person { //声 ...
- android ftp案例分析
使用方法: FTPClient client = new FTPClient(); client.connect("ftp.host.com", 8021); client.log ...