zoukankan      html  css  js  c++  java
  • C# StreamReader对象

    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;
                }
            }
        }
    }

  • 相关阅读:
    Django视图层进阶、模板层
    【python学习笔记:Django】3.生活需要仪式感——Hello World
    【python学习笔记:Django】2.启动虚拟环境库出错——Windows PowerShell中无法加载文件 xxxScriptsActivate.ps1,因为在此系统上禁止运行脚本
    【python学习笔记:Django】1.开发环境搭建——“三剑客”:python、django、visual studio code
    【window使用技巧】如何提高某盘下载速度?
    【Python应用】爬取LOL皮肤图片(面向过程编程)
    【Python图形界面编程】:PyQt5编程入门(看这篇就够了!)
    android调用百度地图(1)新手环境搭建基础应用教程
    android实现调用科大讯飞语音识别功能详细步骤
    Genymotion模拟器下载安装到连接使用一站式教程
  • 原文地址:https://www.cnblogs.com/melao2006/p/4239678.html
Copyright © 2011-2022 走看看