黑马程序员 C#中文件读写常用类的用法

--------------------------------------------------Windows Phone 7手机开发.NET培训,期待与您交流!-------------------------------------------------

 

 首先要熟悉.NET中处理文件和文件夹的操作。File类和Directory类是其中最主要的两个类。了解它们将对后面功能的实现提供很大的便利。
    本节先对和文件系统相关的两个.NET类进行简要介绍。
System.IO.File类和System.IO.FileInfo类主要提供有关文件的各种操作,在使用时需要引用System.IO命名空间。下面通过程序实例来介绍其主要属性和方法。
(1) 文件打开方法:File.Open ()
该方法的声明如下: 
public static FileStream Open(string path,FileMode mode)
 下面的代码打开存放在c:\temp目录下名称为newFile.txt文件,并在该文件中写入hello。
private void OpenFile()
{
FileStream.TextFile=File.Open(@"c:\temp\newFile.txt",FileMode.Append);
byte [ ] Info = {(byte)'h',(byte)'e',(byte)'l',(byte)'l',(byte)'o'};
TextFile.Write(Info,0,Info.Length);
TextFile.Close();
}
  (2) 文件创建方法:File.Create()
该方法的声明如下:
public static FileStream Create(string path;)
下面的代码演示如何在c:\temp下创建名为newFile.txt的文件。
由于File.Create方法默认向所有用户授予对新文件的完全读/写访问权限,所以文件是用读/写访问权限打开的,必须关闭后才能由其他应用程序打开。为此,所以需要使用FileStream类的Close方法将所创建的文件关闭。
private void MakeFile()
{  
    FileStream NewText=File.Create(@"c:\temp\newFile.txt");
NewText.Close();
}
 
        (3) 文件删除方法:File.Delete()
该方法声明如下:
public static void Delete(string path);
下面的代码演示如何删除c:\temp目录下的newFile.txt文件。
private void DeleteFile()
{
File.Delete(@"c:\temp\newFile.txt");
}

 (4) 判断文件是否存在的方法:File.Exist
该方法声明如下:
public static bool Exists(string path);

 但上述方法主要对UTF-8的编码文本进行操作,从而显得不够灵活。在这里推荐读者使用下面的代码对txt文件进行操作。
· 对txt文件进行“读”操作,示例代码如下:
StreamReader TxtReader = new StreamReader(@"c:\temp\newFile.txt",System.Text.Encoding.Default);
string FileContent;
FileContent = TxtReader.ReadEnd();
TxtReader.Close();

· 对txt文件进行“写”操作,示例代码如下:
StreamWriter = new StreamWrite(@"c:\temp\newFile.txt",System.Text.Encoding.Default);
string FileContent;
TxtWriter.Write(FileContent);
TxtWriter.Close();
  System.IO.Directory类和System.DirectoryInfo类
主要提供关于目录的各种操作,使用时需要引用System.IO命名空间。下面通过程序实例来介绍其主要属性和方法。
(1) 目录创建方法:Directory.CreateDirectory
该方法声明如下:
public static DirectoryInfo CreateDirectory(string path);
下面的代码演示在c:\temp文件夹下创建名为NewDirectory的目录。
private void MakeDirectory()
{
Directory.CreateDirectory(@"c:\temp\NewDirectoty")
}

(2) 目录删除方法:Directory.Delete
该方法声明如下:
public static void Delete(string path,bool recursive);
下面的代码可以将c:\temp\BackUp目录删除。Delete方法的第二个参数为bool类型,它可以决定是否删除非空目录。如果该参数值为true,将删除整个目录,即使该目录下有文件或子目录;若为false,则仅当目录为空时才可删除。
private void DeleteDirectory()
{
Directory.Delete(@"c:\temp\BackUp",true);
}

(5) 获取当前目录下的所有子目录方法:Directory.GetDirectories
该方法声明如下:
public static string[ ] GetDirectories(string path;);
  下面的代码读出c:\temp\目录下的所有子目录,并将其存储到字符串数组中。
private void GetDirectory()
{
string [ ] Directorys;
Directorys = Directory. GetDirectories (@"c:\temp");
}

(6) 获取当前目录下的所有文件方法:Directory.GetFiles
该方法声明如下:
public static string [ ] GetFiles(string path);
  下面的代码读出c:\temp\目录下的所有文件,并将其存储到字符串数组中。
private void GetFile()
{
string [ ] Files;
Files = Directory. GetFiles (@"c:\temp");
}

(7) 判断目录是否存在方法:Directory.Exist
该方法声明如下:
public static bool Exists(string path);


 

--------------------------------------------------Windows Phone 7手机开发.NET培训,期待与您交流!-------------------------------------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值