2011-03-29 18:51:39|?次阅读|上传:wustguangh【已有?条评论】发表评论
文件头:
using System; using System.Collections.Generic; using System.Text; using System.IO;
操作字节数组比较麻烦,素以使用FileStream写文本文件比较困难,如果不需要将文件指针改变到任意位置,用StreamWriter替代FileStream是一个很好的选择。StreamWriter类允许将字符和字符串写入到文件中,它处理底层的转换,想FileStream对象写入数据。StreamWriter对象不提供FileMode属性的选项,而且,没有设置FileAccess属性的选项。如果要使用FileStream的高级参数,必须先在FileStream构造函数中指定这些参数,然后在FileStream对象中创建StreamWriter,下面是一个使用StreamWriter写文本文件的例子:
public void fileWrite() { try { FileStream aFile = new FileStream("Log.txt", FileMode.OpenOrCreate); StreamWriter sw = new StreamWriter(aFile); bool truth = true; // Write data to file. sw.WriteLine("Hello to you."); sw.WriteLine("It is now {0} and things are looking good.", DateTime.Now.ToLongDateString()); sw.Write("More than that,"); sw.Write(" it's {0} that C# is fun.", truth); sw.Close(); } catch (IOException e) { Console.WriteLine("An IO exception has been thrown!"); Console.WriteLine(e.ToString()); Console.ReadLine(); return; } }
输入流用于从外部源中读取数据,用来从文本文件中读取数据我们经常使用StreamReader,同StreamWriter一样,这是一个通用类,可以用于任何流。StreamReader对象的创建方式与StreamWriter对象非常类似,创建它最常见的方式是使用之前创建的FileStream对象。下面给出一个使用StreamReader读取文本文件的例子:
public void fileWrite() { string line; try { FileStream aFile = new FileStream(filePath, FileMode.Open); StreamReader sr = new StreamReader(aFile); line = sr.ReadLine(); // Read data in line by line. while (line != null) { Console.WriteLine(line); line = sr.ReadLine(); } sr.Close(); } catch (IOException e) { Console.WriteLine("An IO exception has been thrown!"); Console.WriteLine(e.ToString()); return; } Console.ReadKey(); }
至此,使用C#读取进行文件操作的相关方法便总结完成了,FileStream进行文件操作比较灵活,可以随机操作文件,也可以对非文本文件进行读写,比如声音和图像文件,StreamReader和StreamWriter提供了方便的文本文件操作接口。