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提供了方便的文本文件操作接口。