一、使用StreamWriter类写入文件
应用FileStream类需要许多额外的数据类型转换操作,十分影响效率。本节将介绍另外一种更为简单实用的类写入方法,即StreamWriter类。StreamWriter类允许直接将字符和字符串写入文件。StreamWriter类的构造方法一共有7种,此处只介绍常用的三种,如下所示,以及StreamWriter类的常用方法:
构造函数:
StreamWriter(Stream) (用UTF-8编码及默认缓冲区大小,为指定的流初始化StreamWriter类的一个新实例)
StreamWriter(String) (使用默认编码和缓冲区大小,为指定路径上的指定文件初始化StreamWriter类的新实例)
StreamWriter(String,Boolean) (使用默认编码和缓冲区大小,为指定路径上的指定文件初始化StreamWriter类的新实例。如果该文件存在,则可以将其改写或向其追加。如果该文件不存在,则此构造函数将创建一个新文件
StreamWriter的方法介绍:
Close (关闭当前的StreamWriter对象和基础流)
Write (写入流)
WriteLine (写入重载参数指定的某些数据,后跟行结束符)
实例介绍:
public class StreamWriterTest
{
public static void Main()
{
try
{
//保留文件现有数据,以追加写入的方式打开C:\file.txt文件
StreamWriter m_SW = new StreamWriter(@ "C:\file.txt ",true);
//向文件写入新字符串,并关闭StreamWriter
m_SW.WriterLine("Another File Operation Method");
m_SW.Close();
}
catch(IOExecption ex)
{
Console.WriteLine("There is an IO exception!");
Console.WriteLine(ex.Message);
Console.ReadLine();
return;
}
Console.WriteLine("Write to File Succeed!");
Console.ReadLine();
return;
}
}
二、使用StreamReader类读取文件
相对于StreamWriter类,StreamReader类提供了另一种从文件中读取数据的方法。StreamReader类的应用方式非常类似于StreamWriter类,其常见构造函数与常用方法如下:
StreamReader(Stream) (为指定的流初始化StreamReader类的新实例)
StreamReader(String) (为指定的文件名初始化StreamReader类的新实例)
方法:
Close (关闭StreamReader对象和基础流,并释放与读取器关联的所有系统资源)
Read (读取输入流中的下一个字符或下一组字符)
ReadLine (从当前流中读取一行字符并将数据作为字符串返回)
ReadToEnd (从流的当前位置到末尾读取流)
实例:
Public class StreamReaderTest
{
public static void Main()
{
try
{
//以绝对路径方式构造新的StreamReader对象
StreamReader m_SW =new StreamReader(@ "c:\file.txt");
//用ReadToEnd方法将C:\file.txt中的数据全部读入字符串m_Data中,并关闭StreamReader
string m_Data = m_SW.ReadToEnd();
Console.WriteLine(m_Data);
m_SW.Close();
}
catch(IOException ex)
{
Console.WriteLine("There is an IO exception!");
Console.WriteLine(ex.Message);
Console.ReadLine();
return;
}
Console.ReadLine();
return;
}
}