.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):

时间: 2024-08-24 08:09:58

.net对文件的操作之对文件目录的操作的相关文章

PHP文件操作:遍历文件目录

1 <?php 2 /*遍历目录,列出目录中的文件 3 * array scandir(string $directory [,int $sorting_order]) 4 * $directory为待遍历目录的路径名,$sorting_order为可选参数,设置文件的降序或者升序排列 5 * */ 6 $path='./'; //为当前目录 7 if(file_exists($path)){ 8 $files_asc=scandir($path); 9 $files_desc=scandir(

详解ios文件系统文件目录读写操作-备用

iPhone文件读写系统操作教程是本文要介绍的内容,对于一个运行在iPhone得app,它只能访问自己根目录下得一些文件(所谓sandbox).一个app发布到iPhone上后,它得目录结构如下:  1.其中获取 app root 可以用 NSHomeDirectory() 访问到:  2.Documents 目录就是我们可以用来写入并保存文件得地方,一般可通过以下代码获取, NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocum

我来谈谈Linux文件目录与操作-给新手看

第三章 Linux文件和目录操作第一节 Linux文件和目录简介第二节 文件和目录基本操作第三节 Linux查看文件内容命令第四节 Linux修改文件日期第五节 Linux文件和目录权限管理第六节 Linux隐藏属性和特殊权限第七节 Linux文件查找 linux 文件类型普通文件 目录文件 设备文件(/dev) 链接文件 管道文件 查看文件类型(- 普通文件 . 隐藏文件 d 目录文件 c 设备文件 l 链接文件)[[email protected] ~]# nano hello.txt #快

问题1:js这么语言的能力取决于什么?(运行平台)问题2:js是否能够操作文件(一般不能),ajax能否操作文件(一般不能)?

问题:js这么语言的能力取决于什么?(运行平台) 答:现在的js语言可以在浏览器运行(js如果是在浏览器端运行则不能操作磁盘文件),也可以在服务器端运行nodeJs(js在服务器端能够操作文件). 问题:js是否能够操作文件(一般不能),ajax能否操作文件(一般不能)? 答: a. js一般不能,但是分情况看,如果是在服务器端,则可以操作.如果是在浏览器端,则不能直接操作,但是可以操作cookie小文件. b. ajax一般不能操作文件:但是在最新的 ajax level2(formData对

python基础(文件输入/输出 内建类型 字典操作使用方法)

本文主要介绍了python基础入门,包括文件输入/输出.内建类型.字典操作等使用方法 一.变量和表达式 代码如下: >>> 1 + 1 2>>> print 'hello world' hello world>>> x = 1               >>> y = 2>>> x + y3 Python是强类型语言,无法根据上下文自动解析转换成合适的类型. Python是一种动态语言,在程序运行过程中,同一个变量

PHP之文件目录基础操作

我们知道,临时声明的变量是保存在内存中的,即便是静态变量,在脚本运行完毕后也会被释放掉,so,想长久保存一个变量的内容,方法之一就是写到文件中,放到硬盘或服务器上,为此文件操作就必须很熟悉. 1.文件的属性信息获取 首先文件具有类型,在Linux下边,有block(块设备,如磁盘分区.CD-ROM).char(以字符为输入的设备,如键盘.打印机).dir(目录类型,目录也是文件的一种).fifo(命名管道,解释是将信息从一个进程传到另一个进程).file(普通的文件).link(链接,类似win

同步I/O操作和异步I/O操作

当执行I/O操作的时候,无论是同步I/O操作还是异步I/O操作,都会调用的Windows的API方法,比如,当读取文件的时候,调用ReadFile函数.该方法会将你的当前线程从用户态转变成内核态,会生成一个I/O请求包,并且初始化这个请求包,这个包中包含一个文件句柄,一个偏移量和一个Byte[]数组.ReadFile会向内核传递,根据这个请求包,windows内核知道需要将这个I/O操作发送给哪个硬件设备.这些I/O操作会进入设备自己的处理队列中,该队列由这个设备的驱动程序维护. 如果此时是同步

JAVASE02-Unit07: 基本IO操作 、 文本数据IO操作

基本IO操作 . 文本数据IO操作 java标准IO(input/output)操作 package day07; import java.io.FileOutputStream; import java.io.IOException; /** * java标准IO(input/output)操作 * 输入流InputStrean:用于从数据源读取数据到程序中 * 输出流OutputStream:用于将数据发送至目标 * * 流划分为:节点流,处理流 * 节点流:又叫做低级流,特点:数据源明确,

Ruby操作MongoDB(进阶八)-聚合操作Aggregation

上篇博文讲述了排序规则collations的操作和设置方式.顺带介绍了一部分聚合aggregation的设置方式.本文继续介绍聚合操作. 聚合框架的操作处理完数据记录后在返回计算结果.集合操作将来源于多个文档的值归类到一起,这样就可疑在被归类的数据上进行多种操作,然后返回一个单独的结果 1 聚合管道 聚合管道是用于数据聚合的一个框架,是以数据处理管道概念为原型.将文档输入一个多级管道后,可疑将文档转换为聚合的结果.下面以restaurants作为数据集,通过将餐馆类归类,我们就可以使用聚合管道在