1.读取文件

输入流用于从外部源读取数据,在很多情况下,数据源可以是磁盘上的文件或网络的某些位置,任何可能发送数据的位置都可以是数据源,比如网络应用程序,web服务,甚至是控制台。StreamReader是一个通用类,可以用于任何流;StreamReader对象的创建方式非常类似于StreamWriter对象的创建方式。

StreamWriter类有两个基本的方法read和readLine

Read()方法将流的下一个字符作为正整数值返回,如果到达了流的结尾处,则返回-1

ReadLing()方法是读取并返回一行字符,如果返回为空,那么就是到达了流的结尾。

ReadEnd()方法读小文件最好,它直接读取完整的文件并作为字符串返回。

例:
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace StreamReaderTest
{
    class Program
    {
        
        static void Main(string[] args)
        {
            string strLine; 
            try
            {
                Console.Write("请输入文件路径及文件名:");
                string mess = Console.ReadLine();
                FileStream aFile = new FileStream(mess, FileMode.Open);
                StreamReader sr = new StreamReader(aFile);//用FileStream对象实例化一个StreamReader对象
                //strLine = sr.ReadToEnd();//读取完整的文件,如果用这个方法,就可以不用下面的while循环
                strLine = sr.ReadLine();//  读取一行字符并返回
                while (strLine != null)
                {
                    Console.WriteLine(strLine);
                    strLine = sr.ReadLine();
                }
                sr.Close();
                Console.ReadLine();
            }
            catch (IOException e)
            {
                Console.WriteLine("an IOexception has been thrown!");
                Console.WriteLine(e.ToString());
                return;
            }
            return;
        }
    }
}

2.分隔文件

读取使用逗号分隔的文件,string类提供了一种称为Split()的方法,可以用于将字符串按照提供的分隔符分隔成字符组.

例:
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace CommaValues
{
    class Program
    {
        static void Main(string[] args)
        {
            while (true)
            {
                string strLine;
                string[] strArray;
                char[] charArray = new Char[] { ',' };
                Console.Write("请输入文件内容以逗号分隔的文件路径及文件名:");
                string name = Console.ReadLine();

try
                {
                    FileStream aFile = new FileStream(name, FileMode.Open);
                    StreamReader sr = new StreamReader(aFile);

strLine = sr.ReadLine();
                    while (strLine != null)
                    {
                        strArray = strLine.Split(charArray);
                        for (int x = 0; x <= strArray.GetUpperBound(0); x++)
                        {
                            Console.WriteLine(strArray[x].Trim());
                        }
                        strLine = sr.ReadLine();
                    }
                    sr.Close();
                    //Console.ReadLine();
                }
                catch (IOException e)
                {
                    Console.WriteLine(e.ToString());
                    return;
                }
                //return;
            }
        }
    }
}

C# StreamReader对象的更多相关文章

  1. 利用HttpWebRequest实现实体对象的上传

    一 简介 HttpWebRequest和HttpWebResponse类是用于发送和接收HTTP数据的最好选择.它们支持一系列有用的属性.这两个类位 于System.Net命名空间,默认情况下这个类对 ...

  2. StreamReader和StreamWrite和FileStream区别和用法

    一.<1>StreamReader类共有10个构造函数 StreamReader (Stream)    //  为指定的流初始化 StreamReader 类的新实例. FileStre ...

  3. StreamReader与StreamWriter

    StreamReader实现了抽象基类TextReader类,而StreamWriter实现了抽象基类TextWriter.分别用于对流的读取与写入. 先从StreamReader说起 一.构造方法 ...

  4. StreamReader和StreamWriter说明

    StreamReader/StreamWriter操作的是字符数据(char),而FileStream操作的是字节数据(byte) FileStream与StreamXXXX类的默认编码都是UTF8, ...

  5. C# System.IO.StreamReader

    实现一个 TextReader,使其以一种特定的编码从字节流中读取字符. using System; using System.IO; class Test { public static void ...

  6. C#中流的读写器BinaryReader、BinaryWriter,StreamReader、StreamWriter详解【转】

    https://blog.csdn.net/ymnl_gsh/article/details/80723050 C#的FileStream类提供了最原始的字节级上的文件读写功能,但我们习惯于对字符串操 ...

  7. c#StreamWriter,StreamReader类(主要用于文本文件访问)

    1.为什么要使用StreamReader或者StreamWriter 如果对文本文件需要读取一部分显示一部分则使用FileStream会有问题,因为可能FileStream会在读取的时候把一个汉字的字 ...

  8. .net 流(Stream) - StreamWriter和StreamReader、BinaryReader和BinaryWriter

    转自:http://www.oseye.net/user/kevin/blog/86 一.StreamWriter和StreamReader 从上一篇博文可知文件流.内存流和网络流操作的都是字节,每次 ...

  9. C#--I/O流操作文本文件之StreamWrite类和StreamReader类

    使用I/O流操作文本文件时主要用到StreamWrite类和StreamRead类. 1.StreamWrite类 (1)StreamWrite类专门用来处理文本文件的类.能够方便地想文本文件里写入字 ...

随机推荐

  1. IOS 关于tableview中cell的长按手势

    说明:虽然是tableview中cell的长按手势  但是手势是添加在tableview上的 UILongPressGestureRecognizer *longpress = [[UILongPre ...

  2. before和after兼容性测试

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. 4、python数据类型之列表(list)

    列表列表常见操作1.索引取值 name_list = ['wang','zhou','li','hu','wu','zhao'] print(name_list[0]) print(name_list ...

  4. javascript 返回上一页面:onclick="javascript:history.back(-1);"

    <a href="<a href="javascript :history.back(-1)">返回上一页</a>或<a href=& ...

  5. Android启动时闪一下黑屏或者白屏

    1.设定主题,此主题为透明的,加入到res/values/styles.xml中: <style name="Theme.AppStartLoadTranslucent" p ...

  6. Binary Strings Gym - 101161G 矩阵快速幂 + 打表

    http://codeforces.com/gym/101161/attachments 这题通过打表,可以知道长度是i的时候的合法方案数. 然后得到f[1] = 2, f[2] = 3, f[3] ...

  7. 牛客网Java刷题知识点之四种不同的方式创建线程

    不多说,直接上干货! 有4种方式可以用来创建线程: 第一种:继承Thread类,重写run方法 第二种:实现Runnable接口,并实现该接口的run方法(一般我们在编程的时候推荐用这种) 第三种:实 ...

  8. (六)Redis主从自动恢复-sentinel

    原文地址,转载请注明出处: http://blog.csdn.net/qq_34021712/article/details/72026313     ©王赛超 准备工作:(1个master,2个sl ...

  9. JMeter tomcat测试请求

    JMeter tomcat测试请求 Apache Jmeter是开源的压力测试工具,可以测试tomcat 的吞吐量等信息 下载地址: http://jmeter.apache.org/download ...

  10. The program 'unzip' is currently not installed. You can install it by typing:

    linux解压遇到下面问题: The program 'unzip' is currently not installed. You can install it by typing: sudo ap ...