Directory和DirectoryInfo有什么区别?
-
Directory是静态类,它提供了许多静态方法,用于处理文件夹。 -
DirectoyInfo不是静态类,该类中封装了操作文件夹的实例方法和属性。
File和FileInfo有什么区别?它们各适用于何场景?
-
File是静态类,它提供了许多静态方法,用于操作文件。 -
FileInfo不是静态类,该类中封装了操作文件的实例方法和属性。
使用场景:
- 如果进行单一方法的调用,则可以使用
File类上的方法。因为不必实例化对象,所以代码更简洁一些。 - 如果要对某个文件执行多种操作,则实例化
FileInfo对象并使用其实例方法更合适一些。因为对象已代表文件,所以不必每次都设置文件路径,也不会像File类去重复的寻找文件。
什么是流?它和文件有什么关系?
- 流是个抽象的概念,是对输入输出设备的抽象。
- 在
.NET Framework中,对于数据的输入/输出操作都是以“流”的方式进行,而输入/输出的目标可以是文件,网络,内存等。
简述使用FileStream读写文件的基本原理。
-
FileStream对象表示在磁盘或网络路径上指向文件的流。 -
FileStream提供了在文件中读写字节的方法,所以它可以在二进制文件中读写二进制数据。
简述使用StreamWrite将数据写入文件的步骤。
- 创建
StreamWrite对象,打开文件。 - 使用
StreamWrite对象的WriteLine()或Write()方法,向流中写入数据。 - 最后,调用
Close方法关闭流对象,释放文件。
简述使用StreamReader读取文件数据的步骤。
- 创建
StreamReader对象,打开文件。 - 使用
StreamReader对象的Read()或ReadLine()或ReadToEnd方法,从流中读取数据。 - 最后,调用
Close方法关闭流对象,释放文件。