文件和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");

转载于:https://www.cnblogs.com/zfyouxi/p/4261539.html

C#文件操作基础之File类和FileInfo类相关推荐

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

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

  2. C# 文件操作详解(三)---------Directory类

    前面两篇介绍了File类和FileInfo类,对于文件的操作基本够用,但是后面还会补充一下FileStream相关的操作,例如StreamReader和StreamWriter的内容.本文主要介绍Di ...

  3. 02 文件操作基础命令

    02 文件操作基础命令 1. Linux系统的单根目录结构 linux与windows的目录结构对比 绝对路径与相对路径 一切皆文件的设计思想 文件的时间 ls -l 文件名 仅看的是文件的修改时间 ...

  4. C语言详解文件操作(一):文件操作基础概念、按照字符、按照行块、按照格式化和随机位置读写文件

    文章目录 一.文件操作基础概念 二.文件读写:按照字符方式读写 三.文件读写:按行和块读写 四.文件读写:格式化和随机位置 一.文件操作基础概念 C语言中的文件操作的好处:       一个文件通常是 ...

  5. File类与FileInfo类的区别

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

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

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

  7. 【文件操作(IO)】File类的属性,常见方法,文件内容的读写操作

    文章目录 1. 认识文件 2. Java中操作文件 2.1 File类 2.2 文件内容的读写--数据流 InputStream类 利用Scanner进行字符读取 OutputStream类 利用Pr ...

  8. PHP中文件操作基础:目录操作,文件操作

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  9. python文件操作基础(复习)

    文件操作 一.概述 文件的类型 文件的打开和关闭 文件内容的读取 数据的文件写入 二.文件的类型 2.1 文件的理解 文件是数据的抽象和集合 文件是存储在辅助存储器上的数据序列 文件是数据存储的一种形 ...

最新文章

  1. yii2 nginx去掉index.php?r=
  2. Qt 之 消息机制和事件讲解
  3. spss三次指数平滑_17 统计学:SPSS基础
  4. 使用SQLDMO中“接口SQLDMO.Namelist 的 QueryInterface 失败”异常的解决方法
  5. 小程序开发(8)-之跳转第三方小程序设计
  6. android黑屏日志_Android启动页黑屏的解决方案
  7. django 与 mysql 勾结指南
  8. html怎么设置波浪线,前端基础学习-css实现波浪线及立方体
  9. tp3.2 批量插入
  10. 全球抵押销售点(POS)软件行业调研及趋势分析报告
  11. 【L298N 驱动电机的线路连接图】
  12. 需求调研报告模板_精准摸底,把握需求:名师工作室开展培训活动调研报告
  13. 网络知识汇总(基于W5500以太网)
  14. 真正拖垮你的,其实是沉没成本
  15. 无线电通信之父:马可尼
  16. CentOS 7.6基于lvm2快照备份恢复MariaDB
  17. 【思特奇杯·云上蓝桥-算法集训营】第1周----真题汇总+思路分析
  18. fiddler提示the system proxy was changed,Click to reanable capturing.导致无法抓包
  19. HTML指南针源码zip,ios 制作的指南针
  20. 仿热血江湖游戏Players装备加解锁功能未开放,请联系客服人员

热门文章

  1. 转载:如何在 SQL Server 中使用配置选项调整内存使用量
  2. 前端跨域通信的几种方式
  3. DOM-4 【utils/待讲评】节点创建删除、元素属性设置获取、节点属性
  4. 使用uni-app报错this.setData is not a function
  5. Effective_STL 学习笔记(十九) 了解相等和等价的区别
  6. 终于把joomla 的 protostar 模版的菜单,从垂直改到水平了
  7. 晶科电力打造山东省最大物流港分布式光伏项目
  8. [React Native]高度自增长的TextInput组件
  9. sama5d3 环境检测 gpio--yk测试
  10. 如何在Django模板中注入全局变量