C# File相关疑问解答

为什么使用了File.ReadAllText()和File.WriteAllText()之后不需要使用Close()方法来关闭文件?

解析:File类有许多非常有用的静态方法,它们自动打开一个文件,读写数据,然后自动将文件关闭。除了ReadAllTwxt()和WriteAllText()方法,还有处理字节数组的ReadAllBytes()和WriteAllBytes()方法,读写字符串数组的ReadAllLines()和WriteAllLines()方法(数组中的各个字符串分别是文件中的各行),它们也有这个特点。所以这些方法都会自动打开和关闭流,所以只需要一条语句就能完成全部文件操作。

**************************************************************************************************************

FileStream提供了完成读写的方法,为什么还需要使用StreanReader和StreamWrite呢?

解析:FileStream类对于向二进制文件的读写字节确实非常有用。它的读写方法处理的是字节和字节数组,但是很多程序都会大量使用文本文件,如一个程序只是将字符串写到文件中,对于这种情况,StreanReader和StreamWrite就派上用场了,它们提供了专门读写文本行的方法。如果没有这些类,倘若你想从一根文件读入文本,就必须首相读一个字节数组,然后别写一个循环在这个数组中搜索换行符,显而易见,有StreanReader和StreamWrite类,更好操作。

**************************************************************************************************************

什么情况下使用File,什么情况下使用FileInfo?

解析:File和FileInfo类的主要区别在于,File中的方法是静态的,所以不必创建File的实例就能调用这些方法。FileInfo必须使用一个文件名来实例化对象。有些情况下,使用FileInfo可能比较麻烦,比如你只需要完成一个文件操作(例如只是删除或移动一个文件)。但是另一方面,如果需要对同一个文件完成多个文件操作,那么FileInfo会更高效,因为只需向它传递一次文件名。你要根据遇到的具体情况来决定你使用哪一个类。如果你要完成一个文件操作,那就是用File类。如果要接连完成很多文件操作,建议使用FileInfo。
        

**************************************************************************************************************

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值