c#基础知识---文本文件的读写

StreamReader 和 StreamWriter 类用于文本文件的数据读写。这些类从抽象基类 Stream 继承,Stream 支持文件流的字节读写。

StreamReader 类

StreamReader 类继承自抽象基类 TextReader,表示阅读器读取一系列字符。

下表列出了 StreamReader 类中一些常用的方法

序号 方法 & 描述
1 public override void Close()
关闭 StreamReader 对象和基础流,并释放任何与读者相关的系统资源。
2 public override int Peek()
返回下一个可用的字符,但不使用它。
3 public override int Read()
从输入流中读取下一个字符,并把字符位置往前移一个字符。

如需查看完整的方法列表,请访问微软的 C# 文档。

实例

下面的实例演示了读取名为 Jamaica.txt 的文件。文件如下:

Down the way where the nights are gay
And the sun shines daily on the mountain top
I took a trip on a sailing ship
And when I reached Jamaica
I made a stop
using System;
using System.IO;

namespace FileApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                // 创建一个 StreamReader 的实例来读取文件 
                // using 语句也能关闭 StreamReader
                using (StreamReader sr = new StreamReader("c:/jamaica.txt"))
                {
                    string line;
                   
                    // 从文件读取并显示行,直到文件的末尾 
                    while ((line = sr.ReadLine()) != null)
                    {
                        Console.WriteLine(line);
                    }
                }
            }
            catch (Exception e)
            {
                // 向用户显示出错消息
                Console.WriteLine("The file could not be read:");
                Console.WriteLine(e.Message);
            }
            Console.ReadKey();
        }
    }
}

当您编译和执行上面的程序时,它会显示文件的内容。

StreamWriter 类

StreamWriter 类继承自抽象类 TextWriter,表示编写器写入一系列字符。

下表列出了 StreamWriter 类中一些常用的方法

序号 方法 & 描述
1 public override void Close()
关闭当前的 StreamWriter 对象和基础流。
2 public override void Flush()
清理当前编写器的所有缓冲区,使得所有缓冲数据写入基础流。
3 public virtual void Write(bool value)
把一个布尔值的文本表示形式写入到文本字符串或流。(继承自 TextWriter。)
4 public override void Write( char value ) 
把一个字符写入到流。
5 public virtual void Write( decimal value ) 
把一个十进制值的文本表示形式写入到文本字符串或流。
6 public virtual void Write( double value ) 
把一个 8 字节浮点值的文本表示形式写入到文本字符串或流。
7 public virtual void Write( int value ) 
把一个 4 字节有符号整数的文本表示形式写入到文本字符串或流。
8 public override void Write( string value ) 
把一个字符串写入到流。
9 public virtual void WriteLine()
把行结束符写入到文本字符串或流。

如需查看完整的方法列表,请访问微软的 C# 文档。

实例

下面的实例演示了使用 StreamWriter 类向文件写入文本数据:

using System;
using System.IO;

namespace FileApplication
{
    class Program
    {
        static void Main(string[] args)
        {

            string[] names = new string[] {"Zara Ali", "Nuha Ali"};
            using (StreamWriter sw = new StreamWriter("names.txt"))
            {
                foreach (string s in names)
                {
                    sw.WriteLine(s);

                }
            }

            // 从文件中读取并显示每行
            string line = "";
            using (StreamReader sr = new StreamReader("names.txt"))
            {
                while ((line = sr.ReadLine()) != null)
                {
                    Console.WriteLine(line);
                }
            }
            Console.ReadKey();
        }
    }
}

当上面的代码被编译和执行时,它会产生下列结果:

Zara Ali
Nuha Ali
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值