zoukankan      html  css  js  c++  java
  • C#使用StreamWriter类写入文件文件

    除了使用FileStream类读写文本文件,.net还提供了StreamWriter类和StreamReader类专门处理文本文件。这两个类从底层封装了文件流,读写时不用重新编码,提供了更文件的读写方式。

    StreamWriter类允许将字符和字符串写入到文件中,不必转换为字节,它处理底层的转换,向FileStream对象写入数据。

    一、创建StreamWrite对象

    如果已经有了FileStream对象,则可以使用此对象来创建StreamWriter对象:

    FileStream fs = new FileStream("test.txt",FileMode.CreateNew);
    StreamWriter sw = new StreamWriter(fs);

    也可以直接从文件中创建StreamWriter对象:

    StreamWriter sw = new StreamWriter("test.txt",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();
       }
       catch (IOException ex)
       {
        Console.WriteLine(ex.Message);
        Console.ReadLine();
        return ;
       }
    }
    }

    编译并运行该项目。如果没有发现错误,则项目会很快运行,并关闭。因为我们在控制台上没有显示任何内容,所以在控制台中无法看到程序的执行情况。

    这个简单的应用程序演示了StreamWriter类的两个最重要的方法:Write()和WriteLine()。这两个方法具有许多重载的版本,可以完成更高级的文件输出,但是本示例只使用基本的字符串输出。

    WriteLine()方法会写入传递给它的字符串,其后跟有换行符。

    Write()方法只是把传送给它的字符串写入文件,但不追加换行符,因此可以使用多个Write()语句写入完整的句子或段落。

    注意:如果路径不存在,会抛出异常,当然我们这个程序捕获了异常。

  • 相关阅读:
    git 学习
    ruby on rails 把阿里云上的图片资源转移到七牛云上写的一个task 文件 自动转移
    修改mysql的默认编码
    ruby on rails 安装中遇到的一些问题
    unity打包资源格式全解析
    unity打包全过程解析
    mmorpg手游中的战斗系统
    在线调试lua原型设计
    lua特性纪要
    软件开发中的哲学问题
  • 原文地址:https://www.cnblogs.com/zhoug2020/p/5822458.html
Copyright © 2011-2022 走看看