文档库 最新最全的文档下载
当前位置:文档库 › C#第3版第6章习题解答

C#第3版第6章习题解答

C#第3版第6章习题解答
C#第3版第6章习题解答

Ch6 目录与文件操作习题解答

1. 简要回答Directory类与DirectoryInfo类有何区别,二者分别适合什么场合?

【解答】Directory类和DirectoryInfo类均可用于对磁盘和目录进行管理,如复制、移动、重命名、创建、删除目录等。两个类的不同点在于DirectoryInfo类提供了更详细的功能,而且必须被实例化后才能使用,而Directory类则只提供了常用的静态方法。

程序中如果多次使用某个对象,一般用DirectoryInfo类;但是如果只使用一次,由于创建、销毁实例花费的时间比较长,其效率没有直接用Directory类提供的静态方法高。如果仅执行某一个操作,则使用Directory类提供的静态方法效率更高一些。。

2.编写程序,用Directory类提供的方法确定指定的目录是否存在,如果不存在,则创建该目录。然后在其中创建一个文件,并将一个字符串写到文件中。

【解答】

程序清单如下:

using System;

using System.IO;

class Test

{

public static void Main()

{

string path = @"c:\MyDir";

try

{

if (!Directory.Exists(path))

{

Directory.CreateDirectory(path);

}

StreamWriter sw=File.CreateText(path+@"\myfile.txt");

sw.WriteLine("This is a String!");

sw.Close();

}

catch (Exception e)

{

Console.WriteLine("操作失败: {0}", e.ToString());

}

Console.ReadLine();

}

}

3.编写程序,使用File类实现删除指定目录下的指定文件。

【解答】

程序清单如下:

using System;

using System.IO;

class FileTest

{

public static void Main()

{

Console.WriteLine("确认删除当前目录下的所有文件?");

Console.WriteLine("点击'Y'键继续,其它键取消操作");

int a = Console.Read();

if(a == 'Y' || a == 'y'){

Console.WriteLine("正在删除文件...");

}

else

{

Console.WriteLine("用户取消操作");

return;

}

Directory Info dir = new Directory Info (".");

foreach (File Info f in dir.GetFiles())

{

f.Delete();

}

Console.ReadLine();

}

}

4. 编写程序使用StreamReader和StreamWriter完成文本文件的读写。功能要求:创建C:\test.txt文件,并往文件中写入一些数据,然后再打开该文件,读出该文件的内容。

【解答】源程序清单如下:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.IO;

namespace ConsoleApplication

{

class Program

{

static void Main(string[] args)

{

string filePath = @"c:\text.txt";

Console.WriteLine("使用StreamWriter写入字符串到文本文件中");

StreamWriter sw = File.CreateText(filePath);

sw.WriteLine("This is a string.This is a string.");

sw.Close();

Console.WriteLine("使用StreamReader读取文本文件到控制台");

StreamReader sr = File.OpenText(filePath);

while (sr.Peek() != -1)

{

Console.WriteLine(sr.ReadLine());

}

Console.ReadLine();

}

}

}

相关文档