C#网络应用编程基础练习题与答案(六)

王朝c#·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

1. 简要回答文件和流之间的区别和联系。

【解答】

文件(file)和流(stream)即有区别又有联系。文件是在各种媒质上(可移动磁盘、硬盘、CD 等)永久存储的数据的有序集合。它是一种进行数据读写操作的基本对象。通常情况下,文件按照树状目录进行组织,每个文件都有文件名、文件所在路径、创建时间、访问权限等属性。

流是字节序列的抽象概念,例如文件、输入输出设备、内部进程通信管道或者TCP/IP套接字等均可以看成流。流提供一种向后备存储器写入字节和从后备存储器读取字节的方式。

2. Directory类为我们提供了哪些目录管理的功能,它们是通过哪些方法来实现的?

【解答】

Directory类为我们提供了对磁盘和目录进行管理的功能,如复制、移动、重命名、创建和删除目录,获取和设置与目录的创建、访问及写入操作相关的时间信息。

如:CreateDirectory方法用于创建指定路径中的所有目录;Delete方法用于删除指定的目录;Move方法能够重命名或移动目录;Exists方法用于确定给定路径是否引用磁盘上的现有目录;GetCurrentDirectory方法用于获取应用程序的当前工作目录;GetFiles方法用于返回指定目录中的文件的名称等。

3. 编写程序综合应用Directory类的主要方法。首先确定指定的目录是否存在,如果存在,则删除该目录;如果不存在,则创建该目录。然后,移动此目录,在其中创建一个文件,并对文件进行计数。

【解答】

程序清单如下:

以下是引用片段:

using System;

using System.IO;

class Test

{

public static void Main()

{

string path = @"c:\MyDir";

string target = @"c:\TestDir";

try

{

if (!Directory.Exists(path))

{

Directory.CreateDirectory(path);

}

if (Directory.Exists(target))

{

Directory.Delete(target, true);

}

Directory.Move(path, target);

File.CreateText(target + @"\myfile.txt");

Console.WriteLine("在{0}中的文件数目是{1}",

target, Directory.GetFiles(target).Length);

}

catch (Exception e)

{

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

}

finally {}

}

}

4. 编写程序,将文件复制到指定路径,允许改写同名的目标文件。

【解答】

程序清单如下:

以下是引用片段:

using System;

using System.IO;

class Test

{

public static void Main()

{

string path = @"c:\temp\MyTest.txt";

string path2 = path + "temp";

try

{

using (FileStream fs = File.Create(path)) {}

File.Delete(path2);

File.Copy(path, path2);

Console.WriteLine("{0}拷贝到:{1}", path, path2);

File.Copy(path, path2, true);

Console.WriteLine("第二次拷贝成功");

}

catch

{

Console.WriteLine("重复拷贝不允许");

}

}

}

5. 编写程序,使用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;

}

DirectoryInfo dir = new DirectoryInfo (".");

foreach (FileInfo f in dir.GetFiles())

{

f.Delete();

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航