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;
}
}
}
}
C# StreamReader对象的更多相关文章
- 利用HttpWebRequest实现实体对象的上传
一 简介 HttpWebRequest和HttpWebResponse类是用于发送和接收HTTP数据的最好选择.它们支持一系列有用的属性.这两个类位 于System.Net命名空间,默认情况下这个类对 ...
- StreamReader和StreamWrite和FileStream区别和用法
一.<1>StreamReader类共有10个构造函数 StreamReader (Stream) // 为指定的流初始化 StreamReader 类的新实例. FileStre ...
- StreamReader与StreamWriter
StreamReader实现了抽象基类TextReader类,而StreamWriter实现了抽象基类TextWriter.分别用于对流的读取与写入. 先从StreamReader说起 一.构造方法 ...
- StreamReader和StreamWriter说明
StreamReader/StreamWriter操作的是字符数据(char),而FileStream操作的是字节数据(byte) FileStream与StreamXXXX类的默认编码都是UTF8, ...
- C# System.IO.StreamReader
实现一个 TextReader,使其以一种特定的编码从字节流中读取字符. using System; using System.IO; class Test { public static void ...
- C#中流的读写器BinaryReader、BinaryWriter,StreamReader、StreamWriter详解【转】
https://blog.csdn.net/ymnl_gsh/article/details/80723050 C#的FileStream类提供了最原始的字节级上的文件读写功能,但我们习惯于对字符串操 ...
- c#StreamWriter,StreamReader类(主要用于文本文件访问)
1.为什么要使用StreamReader或者StreamWriter 如果对文本文件需要读取一部分显示一部分则使用FileStream会有问题,因为可能FileStream会在读取的时候把一个汉字的字 ...
- .net 流(Stream) - StreamWriter和StreamReader、BinaryReader和BinaryWriter
转自:http://www.oseye.net/user/kevin/blog/86 一.StreamWriter和StreamReader 从上一篇博文可知文件流.内存流和网络流操作的都是字节,每次 ...
- C#--I/O流操作文本文件之StreamWrite类和StreamReader类
使用I/O流操作文本文件时主要用到StreamWrite类和StreamRead类. 1.StreamWrite类 (1)StreamWrite类专门用来处理文本文件的类.能够方便地想文本文件里写入字 ...
随机推荐
- web综合案例01
web综合案例01 ... .... 内容待添加
- 原生Ajax实现
发现一件可怕的事情,前端学不完了,春招要开始了.唉,人生苦短.
- 【C#】=>符号的使用
Lambda表达式.Lambda表达式是C#3.0的新内容,如果您之前学习的C#2.0,不认识也就不奇怪了.给您举个例子.例如,我定义一个委托:delegate int Method(int a, i ...
- Java微信公众平台开发(十)--微信用户信息的获取
前面的文章有讲到微信的一系列开发文章,包括token获取.菜单创建等,在这一篇将讲述在微信公众平台开发中如何获取微信用户的信息,在上一篇我们有说道微信用户和微信公众账号之间的联系可以通过Openid关 ...
- Http中常见MIME类型
MIME类型 常见MIME类型: 超文本标记语言文本 .html text/html xml文档 .xml text/xml XHTML文档 .xhtml application/xhtml+xml ...
- [WPF自定义控件库]简单的表单布局控件
1. WPF布局一个表单 <Grid Width="400" HorizontalAlignment="Center" VerticalAlignment ...
- jquery调用asp.net 页面后台的实现代码
先创建一个aspx页面编写一个客户端控件<input type="button" id="AjaxDemo" value="AjaxDemo&q ...
- c#异步Begininvoke使用随笔
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- bootstrapTable的数据后端分页排序
数据后端分页排序,其实就是sql语句中oeder by做一些限制. 之前在写sql语句中的order by是写死,既然要写活,就要传参数到后台. 之前讲到bootstrapTable的queryPar ...
- Vue.js(2.x)之计算属性
昨天看完大神的文章后,深感惭愧,硬着头皮继续看官网文档,然而这真的没是没办法,介绍的实在有些敷衍: 1).计算属性:也不说下computed是计算属性关键词,vm实例是可以像代理data一样代理com ...