如何在 Visual C# 中执行基本的文件 I/O

演示文件 I/O 操作

<script type="text/javascript">loadTOCNode(2, 'summary');</script> 本文中的示例讲述基本的文件 I/O 操作。“分步示例”部分说明如何创建一个演示下列六种文件 I/O 操作的示例程序:
读取文本文件
写入文本文件
查看文件信息
列出磁盘驱动器
列出文件夹
列出文件
注意:如果要直接使用下列示例代码,请注意下列事项:
必须包括 System.IO 命名空间,如下所示:
using System.IO;					
按如下方式声明 winDir 变量:
string    winDir=System.Environment.GetEnvironmentVariable("windir");					
按如下方式声明 addListItem 函数:
private void addListItem(string value){	this.listbox1.Items.Add(value);}					
注意:可以直接使用下列语句,而不用声明和使用 addListItem 函数:
this.listbox1.Items.Add(value);"					
读取文本文件
<script type="text/javascript">loadTOCNode(3, 'summary');</script> 下面的示例代码使用 StreamReader 类读取 System.ini 文件。该文件的内容被添加到一个 ListBox 控件中。其中的 try...catch 块用于在文件为空时向程序发出警报。有多种方法可确定是否到达文件结尾;本示例使用 Peek 方法在读取下一行之前先检验该行。
    StreamReader reader=new  StreamReader(winDir + "//system.ini");        try           {                do            {                addListItem(reader.ReadLine());            }               while(reader.Peek() != -1);        }                       catch         {             addListItem("File is empty");}        finally        {            reader.Close();        }				
写入文本文件
<script type="text/javascript">loadTOCNode(3, 'summary');</script> 此示例代码使用一个 StreamWriter 类来创建一个文件并写入信息。如果已有一个现有文件,则可以用同样的方式打开它。
    StreamWriter writer = new StreamWriter("c://KBTest.txt");    writer.WriteLine("File created using StreamWriter class.");    writer.Close();    this.listbox1.Items.Clear();    addListItem("File Written to C://KBTest.txt");				
查看文件信息
<script type="text/javascript">loadTOCNode(3, 'summary');</script> 此示例代码使用一个 FileInfo 对象来访问一个文件的属性。此示例中使用了 Notepad.exe。属性在 ListBox 控件中显示。
    FileInfo FileProps  =new FileInfo(winDir + "//notepad.exe");    addListItem("File Name = " + FileProps.FullName);    addListItem("Creation Time = " + FileProps.CreationTime);    addListItem("Last Access Time = " + FileProps.LastAccessTime);    addListItem("Last Write TIme = " + FileProps.LastWriteTime);    addListItem("Size = " + FileProps.Length);    FileProps = null;				
列出磁盘驱动器
<script type="text/javascript">loadTOCNode(3, 'summary');</script> 此示例代码使用 DirectoryDrive 类列出系统上的逻辑驱动器。本示例的结果显示在 ListBox 控件中。
    string[] drives = Directory.GetLogicalDrives();    foreach(string drive in drives)    {        addListItem(drive);    }				
列出子文件夹
<script type="text/javascript">loadTOCNode(3, 'summary');</script> 此示例代码使用 Directory 类的 GetDirectories 方法获取文件夹列表。
    string[] dirs = Directory.GetDirectories(winDir);    foreach(string dir in dirs)        {            addListItem(dir);        }				
列出文件
<script type="text/javascript">loadTOCNode(3, 'summary');</script> 此示例使用 Directory 类的 GetFiles 方法获取文件夹列表。
    string[] files= Directory.GetFiles(winDir);    foreach (string i in files)    {        addListItem(i);    }				
用户访问文件时可能会出现多种错误。文件可能不存在、可能在使用中,或者用户对试图访问的文件夹中的文件无访问权限。在编写代码和处理可能产生的异常时,将这些可能性考虑在内是很重要的。  
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值