C#使⽤StreamWriter类写⼊⽂件⽂件
除了使⽤FileStream类读写⽂本⽂件,还提供了StreamWriter类和StreamReader类专门处理⽂本⽂件。这两个类从底层封装了⽂件流,读写时不⽤重新编码,提供了更⽂件的读写⽅式。
StreamWriter类允许将字符和字符串写⼊到⽂件中,不必转换为字节,它处理底层的转换,向FileStream对象写⼊数据。
⼀、创建StreamWrite对象
如果已经有了FileStream对象,则可以使⽤此对象来创建StreamWriter对象:
FileStream fs = new FileStream("",FileMode.CreateNew);
StreamWriter sw = new StreamWriter(fs);
也可以直接从⽂件中创建StreamWriter对象:
StreamWriter sw = new StreamWriter("",true);
此构造函数中有两个参数,⼀个是⽂件名,另⼀个是布尔值,这个布尔值规定创建对象的⽅式如下:
如果此值为false,则创建⼀个新⽂件,如果存在原⽂件,则覆盖。
如果此值为true,则打开⽂件保留原来数据,如果不到⽂件,则创建新⽂件。
与创建FileStream对象不同,创建StreamWriter对象不会提供⼀组类似的选项:除了使⽤Boolean值添加到⽂件的末尾或创建新⽂件之外,根本没有像FileStream类那样指定FileMode属性的选项。⽽且,没有设置FileAccess属性的选项,因此总是有对⽂件的读/写权限。为了使⽤⾼级参数,必须先在FileStream构造函数中指定这些参数,然后在FileStream对象中创建StreamWriter。
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
class Program
{
static void Main(string[]args)
{
try
{
FileStream aFile = new FileStream(@"c:\123\欢迎.txt", FileMode.OpenOrCreate);
StreamWriter sw = new StreamWriter(aFile);
sw.WriteLine("为今后我们之间的进⼀步合作,");
sw.WriteLine("为我们之间⽇益增进的友谊,");
sw.Write("为朋友们的健康幸福,");
sw.Write("⼲杯!朋友!");
sw.Close();
writeline方法属于类
}
catch (IOException ex)
{
Console.WriteLine(ex.Message);
Console.ReadLine();
return ;
}
}
}
编译并运⾏该项⽬。如果没有发现错误,则项⽬会很快运⾏,并关闭。因为我们在控制台上没有显⽰任何内容,所以在控制台中⽆法看到程序的执⾏情况。
这个简单的应⽤程序演⽰了StreamWriter类的两个最重要的⽅法:Write()和WriteLine()。这两个⽅法具有许多重载的版本,可以完成更⾼级的⽂件输出,但是本⽰例只使⽤基本的字符串输出。
WriteLine()⽅法会写⼊传递给它的字符串,其后跟有换⾏符。
Write()⽅法只是把传送给它的字符串写⼊⽂件,但不追加换⾏符,因此可以使⽤多个Write()语句写⼊完整的句⼦或段落。
注意:如果路径不存在,会抛出异常,当然我们这个程序捕获了异常。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。