文件和I/O流的差异:

文件是一些具有永久存储及特定顺序的字节组成的一个有序的、具有名称的集合。

因此对于文件,我们常常想到目录路径,磁盘存储,文件和目录名等方面。

I/O流提供一种后备存储写入字节和从后备存储读取字节的方式。

后备存储可以为多种存储媒介之一。

System.IO命名空间中的常用类:

BinaryReader     用特定的编码将基元数据类型读作二进制值

BinaryWriter     以二进制形式将基元类型写入流,并支持用特定的编码写入字符串

Directory        公开用于创建、移动和枚举通过目录和子目录的静态方法,无法被继                  承

DirectoryInfo    公开用于创建、移动和枚举目录和子目录的实例方法,无法被继承

File             提供创建、复制、删除、移动和打开文件的静态方法,协助创建                      FileStream对象

FileInfo         提供创建、复制、删除、移动和打开文件的实例方法,并且帮助创建                  FileStream对象

FileStream       公开以文件为主的Stream,既支持同步读写操作,也支持异步读写操                  作

FileSystemInfo   为FileInfo和DirectoryInfo对象提供基类

StreamReader     实现一个TextReader,使其以一种特定的编码从字节流中读取字符

StreamWriter     实现一个TextWriter,使其以一种特定的编码向流中写入字符

1.File类:

Copy                  将现有文件复制到新文件

Create                在指定路径中创建文件

Delete                删除指定的文件,如果指定的文件不存在,则不引起异常

Exists                确定指定的文件是否存在

Move                  将指定文件移到新位置,并提供指定新文件名的选项

Open                  打开指定路径上的FileStream

GetCreationTime       返回指定文件或目录的创建日期和时间

OpenRead              打开现有文件进行读取

OpenText              打开现有UTF-8编码文本文件以进行读取

OpenWrite             打开现有文件进行写入

2.FileInfo类:

Directory       获取父目录的实例

Exists          获取指示文件是否存在的值

FullName        获取目录或文件的完整目录

Length          获取当前文件的大小

Name            获取文件名

3.File类和FileInfo类的基本操作方法

注意:

由于File类中的所有方法都是静态的,所以如果只想执行一个操作,那么使用File类中方法的效率比使用相应的FileInfo类中的方法可能更高

File类中的方法都是静态方法,在使用时需要对所有方法都执行安全检查。因此如果打算多次重用某个对象,可考虑改用FileInfo类中的相应方法,因为不总是需要安全检查。

(1)判断文件是否存在Exists方法

返回bool型,如果path为空或者没有权限,则返回false

File:判断C盘根目录下有没有test.txt文件:

File.Exists("C:\\test.txt")

FileInfo:

FileInfo fileinfo = new FileInfo("C:\\test.txt")

if(fileinfo.Exists){}

(2)创建文件用Create方法

File类的Create方法有4中重载方法:

public static FileStream Create(string path)

public static FileStream Create(string path,int bufferSize)

public static FileStream Create(string path,int bufferSize,FileOptions options)

public static FileStream Create(string path,int bufferSize,FileOptions options,FileSecurity fileSecurity)

File类Create方法参数说明

path               文件名

bufferSize         用于读取和写入文件的已放入缓冲区的字节数

options            FileOptions值之一,它描述如何创建或改写该文件

fileSecurity       FileSecurity值之一,它确定文件的访问控制和审核安全性

File类:

File.Create("C:\\test.txt")

FileInfo类:

FileInfo fileinfo = new FileInfo("C:\\test.txt")

fileinfo.Create();

(3)复制文件用File类的Copy方法以及FileInfo类的CopyTo方法

File类的Copy方法或者FileInfo类的CopyTo方法

File类的Copy方法有两种重载方式

public static void Copy(string sourceFileName,string destFileName)

public static void Copy(string sourceFileName,string destFileName,bool overwrite)

sourceFileName表示要复制的文件,destFileName表示目标文件的名称,不能是目录,如果是第一种重载,则目标文件参数不能是现有文件。

overwrite表示是否可以改写目标文

将C盘根目录下的test.txt文本文件复制到D盘根目录下:

(这边注意措辞,说明D盘根目录下是没有test.txt文件的)

File.Copy("C:\\test.txt","D:\\test.txt")

FileInfo类的CopyTo方法也有两种重载方式

public FileInfo CopyTo(string destFileName)

public FileInfo CopyTo(string destFileName,bool overwrite)

FileInfo fileinfo = new FileInfo("C:\\test.txt");

fileinfo.CopyTo("D:\\test.txt",true);

(4)移动文件用File类的Move方法和FileInfo类的MoveTo方法

File类-Move方法-

public static void Move(string sourceFileName,string destFileName)

File.Move("C:\\test.txt","D:\\test.txt")

FileInfo类-MoveTo方法-publicvoid MoveTo(string destFileName)

FileInfo fileinfo = new FileInfo("C:\\test.txt");

fileinfo.MoveTo("D:\\test.txt");

(5)删除文件用Delete方法

File类-Delete方法-public staticvoid Delete(string path)

File.Delete("C:\\test.txt")

FileInfo类-Delete方法-publicvoid Delete(string path)

FileInfo fileinfo = new FileInfo("C:\\test.txt");

fileinfo.Delete("D:\\test.txt");

C#经验:C#File和FileInfo类的使用相关推荐

  1. File和Filelnfo类

    File和FileInfo类都是实用类,主要包含用于创建.复制.删除.移动和打开文件的方法. 由于File类的所有方法都是静态的,因此不用创建这个类的实例就可以调用这些方法.FileInfo类只包括实 ...

  2. File类与FileInfo类的区别

    这些年代码也写了不少,关于文件I/O的操作也写了很多,基本上File类与FileInfo类也没有刻意的去看性能,有时用着也挺糊涂的,今天就将这些I/0操作总结下,老样子贴码 首先先了解清楚下File类 ...

  3. C#文件操作基础之File类和FileInfo类

    文件和I/O流的差异: 文件是一些具有永久存储及特定顺序的字节组成的一个有序的.具有名称的集合. 因此对于文件,我们经常想到文件夹路径,磁盘存储,文件和文件夹名等方面. I/O流提供一种后备存储写入字 ...

  4. 文件及文件夹操作- File类、Directory 类、FileInfo 类、DirectoryInfo 类

    命名空间:using system .IO; 1. File类: 创建:File.Create(路径);创建文件,返回FileStream FileStream fs = File.Create(路径 ...

  5. fileinfo什么意思_C中File类和FileInfo类有什么区别?

    参考答案如下 类和类C中File类和FileInfo类有什么区别? 区别成都社会保险的问题 类和类请教:2011四川会计从业<会计基础>密押试卷(8)第3大题第5小题如何解答? 区别请教: ...

  6. C# 获取文件大小,创建时间,文件信息,FileInfo类的属性表

    OpenFileDialog openFileDialog1 = new OpenFileDialog(); if(openFileDialog1.ShowDialog() == DialogResu ...

  7. c# DirectoryInfo 类和 FileInfo 类

    1.DirectoryInfo 类 DirectoryInfo 类派生自 FileSystemInfo 类.它提供了各种用于创建.移动.浏览目录和子目录的方法.该类不能被继承. 2.FileInfo ...

  8. FileInfo类 c# 1614533684

    FileInfo类 c# 1614533684 这是一个非静态类 可以替换静态类的File的相关操作 方法 实例化对象 判断文件是否存在 拷备文件 如果目标路径已经存在 则会报错 移动文件 剪切操作 ...

  9. C#中File和FileInfo的区别和用法

    在网上看了相关资料后对文件操作类进行一个总结,加强自己的认识. File和FileInfo两个功能基本相同,他们都是基于System.IO命名空间的文件操作类. File:是一个静态类,通过类名直接调 ...

最新文章

  1. Silverlight实例教程 - Validation数据验证开篇
  2. 动态规划:openjudge 2.6-3532 最大上升子序列和 解题心得
  3. 方舟非主机服务器无限距离,方舟非专业服务器距离限制怎么解除 | 手游网游页游攻略大全...
  4. C# 调用FLashPaper2(二)
  5. 又是安卓玩剩下的功能!下代iPhone或可同时连两副耳机
  6. go中的make和new的区别
  7. ssh localhost报错解决:ubuntu@localhost: Permission denied (publickey).
  8. 2M口,电口,光口的区别
  9. Nagios 监控twemproxy
  10. ansys18.0安装教程
  11. python彩票号码生成器
  12. gitlab中创建项目组及项目
  13. 预应力内力计算时作用机理(纠结好久的问题orz)
  14. 智能化的Conversational UI是移动发展的一个趋势
  15. Codeforces Round #495 C. Sonya and Robots
  16. U盘数据被格式化怎么办,U盘格式化数据如何恢复?
  17. efm8系列单片机c语言编程,EFM8单片机用Keil编程,头文件怎么写?
  18. 【Tools/macOS系列】iPad作为扩展显示屏的几种解决方案
  19. java中 enum什么意思_Java中枚举Enum的使用详解
  20. 如何使用GAMS的许可证

热门文章

  1. matlab中psnr多了50,matlab中中图像PSNR和SSIM的计算
  2. 解决T2A W2A A2W的报错error C2065 lpw 未声明的标识符
  3. JavaScript实现九九乘法表
  4. OCR技术的发展及应用
  5. JAVA透视相机安卓,nx studio下载官方版-尼康nx studio软件v1.0.0 免费版 - 极光下载站...
  6. 2020 阿里、腾讯、美团以及网易等一线互联网公司面试总结
  7. 职业经理人的荣耀与嬗变
  8. Mac电脑,HBuilderX使用ios模拟器的方法
  9. WebServer-master
  10. NPM包发布过程中报错——`npm ERR! Unexpected token < in JSON at position 0 while parsing near ‘<!DOCTYPE HTML P