C#的FileInfo类实现文件操作实例

 更新时间:2014年07月29日 10:23:59   投稿:shichen2014  
这篇文章主要介绍了C#的FileInfo类实现文件操作实例,比较实用的功能,需要的朋友可以参考下

C#的FileInfo类提供了与File类相同的功能,不同的是FileInfo提供的都是成员方法,使用示例如下所示:

1、读文件:

//创建只读 System.IO.FileStream。 
public System.IO.FileStream OpenRead() 
//创建使用 UTF8 编码、从现有文本文件中进行读取的 System.IO.StreamReader。
public System.IO.StreamReader OpenText()

2、写文件:

//创建只写 System.IO.FileStream。 
public System.IO.FileStream OpenWrite()

3、追加内容:

//创建一个 System.IO.StreamWriter,它向 System.IO.FileInfo 的此实例表示的文件追加文本。 
public System.IO.StreamWriter AppendText()

4、打开文件:

//在指定的模式中打开文件。 
public System.IO.FileStream Open(System.IO.FileMode mode) 
//用读、写或读/写访问权限在指定模式下打开文件。 
public System.IO.FileStream Open(System.IO.FileMode mode, System.IO.FileAccess access) 
//用读、写或读/写访问权限和指定的共享选项在指定的模式中打开文件。
 public System.IO.FileStream Open(System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share)

5、复制、移动、替换:

//将现有文件复制到新文件,不允许覆盖现有文件。 
public System.IO.FileInfo CopyTo(string destFileName) 
//将现有文件复制到新文件,允许覆盖现有文件。 
public System.IO.FileInfo CopyTo(string destFileName, bool overwrite) 
//将指定文件移到新位置,并提供指定新文件名的选项。 
public void MoveTo(string destFileName) 
//使用当前 System.IO.FileInfo 对象所描述的文件替换指定文件的内容,这一过程将删除原始文件,并创建被替换文件的备份。 
public System.IO.FileInfo Replace(string destinationFileName, string destinationBackupFileName) 
//使用当前 System.IO.FileInfo 对象所描述的文件替换指定文件的内容,这一过程将删除原始文件,并创建被替换文件的备份。还指定是否忽略合并错误。 
public System.IO.FileInfo Replace(string destinationFileName, string destinationBackupFileName, bool ignoreMetadataErrors)

6、加密解密、删除:

//将某个文件加密,使得只有加密该文件的帐户才能将其解密。 
public void Encrypt() 
//解密由当前帐户使用 System.IO.FileInfo.Encrypt() 方法加密的文件。
 public void Decrypt() 
//永久删除文件。 
public override void Delete()

7、获得文件属性:

//获取父目录的实例。 
public System.IO.DirectoryInfo Directory { get; } 
//获取表示目录的完整路径的字符串。 
public string DirectoryName { get; } 
//获取指示文件是否存在的值。 
public override bool Exists { get; } 
//获取或设置确定当前文件是否为只读的值。 
public bool IsReadOnly { set; get; } 
//获取当前文件的大小(字节)。 
public long Length { get; } 
//获取文件名。 
public override string Name { get; }

在FileInfo中获取文件的相关属性不再是方法了,都是通过属性获得的,并且除是否只读属性为可读可写的,其他属性都是只读的。

总结:

大家注意到,我们在FileInfo中提供的方法不再是静态的,并且返回值都是FileStream类型的,是一个文件流,因此我们在使用FileInfo这个类时还需要结合FileStream类一起使用。而在介绍File类时,所有的操作都是通过静态方法实现的,并且返回值都是具体的值类型
这也算是对File类与FileInfo类的粗略的对比。

相关文章

  • C#使用读写锁三行代码简单解决多线程并发的问题

    C#使用读写锁三行代码简单解决多线程并发的问题

    本文主要介绍了C#使用读写锁三行代码简单解决多线程并发写入文件时提示“文件正在由另一进程使用,因此该进程无法访问此文件”的问题。需要的朋友可以参考借鉴
    2016-12-12
  • 教你创建一个带诊断工具的.NET镜像

    教你创建一个带诊断工具的.NET镜像

    本文编写的初衷是因为在群里有很多小伙伴遇到生产环境性能问题的时候,.NET的runtime镜像中没有带一些工具,安装和使用起来很麻烦,所以分享一些我们公司内部一些技巧,对.NET镜像带诊断工具相关知识感兴趣的朋友一起看看吧
    2022-07-07
  • c#只读字段和常量的区别,以及静态构造函数的使用实例

    c#只读字段和常量的区别,以及静态构造函数的使用实例

    这篇文章主要介绍了c#只读字段和常量的区别,以及静态构造函数的使用实例,有需要的朋友可以参考一下
    2013-12-12
  • Treeview动态添加用户控件传值和取值的实例代码

    Treeview动态添加用户控件传值和取值的实例代码

    今天做了很好玩的树,是treeview与用户控件之间进行交互先看效果:
    2013-04-04
  • C# DataGridView添加新行的2个方法

    C# DataGridView添加新行的2个方法

    DataGridView控件在实际应用中非常实用,特别需要表格显示数据时。
    2013-03-03
  • C#实现多线程的几种方式常用场景分析

    C#实现多线程的几种方式常用场景分析

    多线程是C#中一个重要的概念,多线程指的是在同一进程中同时运行多个线程的机制,多线程适用于需要提高系统并发性、吞吐量和响应速度的场景,可以充分利用多核处理器和系统资源,提高应用程序的性能和效率,这篇文章主要介绍了C#实现多线程的几种方式,需要的朋友可以参考下
    2024-05-05
  • C#之WinForm跨线程访问控件实例

    C#之WinForm跨线程访问控件实例

    这篇文章主要介绍了C#之WinForm跨线程访问控件,实例讲述了跨线程访问控件的简单实现方法与用法,需要的朋友可以参考下
    2014-10-10
  • C#中的协变与逆变小结

    C#中的协变与逆变小结

    这篇文章主要介绍了C#中的协变与逆变的相关知识,在泛型或委托中,如果不使用协变或逆变,那么泛型类型是一个固定类型,而使用协变或逆变的话,则泛型类型可以实现多态化,需要的朋友可以参考下
    2021-10-10
  • C#中添加窗口的步骤详解

    C#中添加窗口的步骤详解

    下面小编就为大家带来一篇C#中添加窗口的步骤详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • WPF实现动画效果(三)之时间线(TimeLine)

    WPF实现动画效果(三)之时间线(TimeLine)

    这篇文章介绍了WPF实现动画效果之时间线(TimeLine),对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06

最新评论