第6章 目录与文件管理
ReadBoolean、ReadInt、ReadInt16、ReadDouble、ReadString等方法,而BinaryWriter则提供了WriteByte、WriteBoolean、WriteInt、WriteInt16、WriteDoubleWriteString方法。
【例6-11】将内存中随机产生的二进制数据写入文件,并验证写入结果是否正确。
using System; using System.IO; class BinaryRW {
static void Main() {
int i = 0;
//创建随机数据写入流
byte[] writeArray = new byte[1000]; new Random().NextBytes(writeArray);
BinaryWriter binWriter = new BinaryWriter(new MemoryStream()); BinaryReader binReader = new BinaryReader(binWriter.BaseStream); try {
//将数据写入流
Console.WriteLine(\正在写数据…\ for(i = 0; i < writeArray.Length; i++) {
binWriter.Write(writeArray[i]); }
//流定位到开始位置
binReader.BaseStream.Position = 0; //读取流中的数据
for(i = 0; i < writeArray.Length; i++) {
if(binReader.ReadByte() != writeArray[i]) {
Console.WriteLine(\写数据错\ return; } }
Console.WriteLine(\数据已写入\ }
//捕获EndOfStreamException异常,输出错误信息 catch(EndOfStreamException e) {
Console.WriteLine(\写数据出错\\n{0}\ } } }
6.4 习题6
1. 简要回答文件和流之间的区别和联系。
2. Directory类为我们提供了哪些目录管理的功能,它们是通过哪些方法来实现的? 3. 编写程序综合应用Directory类的主要方法。首先确定指定的目录是否存在,如果存在,162
第6章 目录与文件管理
则删除该目录;如果不存在,则创建该目录。然后,移动此目录,在其中创建一个文件,并对文件进行计数。
4. 编写程序,将文件复制到指定路径,允许改写同名的目标文件。 5. 编写程序,使用File类实现删除当前目录下的所有文件。
163