C#--I/O流操作文本文件之StreamWrite类和StreamReader类
使用I/O流操作文本文件时主要用到StreamWrite类和StreamRead类。
1.StreamWrite类
(1)StreamWrite类专门用来处理文本文件的类。能够方便地想文本文件里写入字符串,同一时候负责重要的转换和处理向FileStream对象写入工作。
(2)经常使用的属性
Encoding 获取将输出写入到当中的Encoding
Formatprovider 获取控制格式设置的对象
NewLine 获取或设置由当前TextWriter使用的行结束符字符串
(3)经常使用的方法
Close 关闭当前的StringWriter和基础流
Write 写入到StringWriter的此实例中
WriteLine 写入重载參数指定的某些数据,后跟行结束符
2.StreamReader类
(1)专门用来读取文本文件的类。
(2)经常使用的方法
Close 关闭StringReader
Read 读取输入字符串中的下一个字符或下一组字符
ReadLine 从基础字符串中读取一行
ReadToEnd 将整个流或从流的当前位置到流的结尾作为字符串读取
3.实例代码--怎样对文本文件进行写入和读取
(1)控件解释
SaveFileDialog控件(一个)--显示“另存为”对话框
OpenFileDialog控件(一个)--显示“打开”对话框
TextBox控件(一个)--输入要写入文本文件的内容和显示选中文本文件的内容
Button控件(两个)--分别用来打开"另存为"和"打开"对话框
(2)重要代码
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == string.Empty)
{
MessageBox.Show("要写入的文件内容不能为空");
}
else
{
//设置保存文件的格式
saveFileDialog1.Filter = "文本文件(*.txt)|*.txt";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
//使用“另存为”对话框中输入的文件名称实例化StreamWriter对象
StreamWriter sw = new StreamWriter(saveFileDialog1.FileName, true);
//向创建的文件里写入内容
sw.WriteLine(textBox1.Text);
//关闭当前文件写入流
sw.Close();
textBox1.Text = string.Empty;
}
}
}
private void button2_Click(object sender, EventArgs e)
{
//设置打开文件的格式
openFileDialog1.Filter = "文本文件(*.txt)|*.txt";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
textBox1.Text = string.Empty;
//使用“打开”对话框中选择的文件实例化StreamReader对象
StreamReader sr = new StreamReader(openFileDialog1.FileName);
//调用ReadToEnd方法读取选中文件的所有内容
textBox1.Text = sr.ReadToEnd();
//关闭当前文件读取流
sr.Close();
}
}
(3)执行截图:
点击读取出来打开框,即前面所说的SaveFileDialog控件的显示
点击写入button,出来另存为框,即前面所说的OpenFileDialog控件的显示
C#--I/O流操作文本文件之StreamWrite类和StreamReader类的更多相关文章
- 流与文本文件操作(C#)
		1.流的基本概念 流是任何输入输出库的必不可少的组成部分.当你的程序需要从一个外部数据源(比如,files.other PCs或servers等)读或者写数据时,就需要用到流streams. 流是由一 ... 
- c++ ofstream & ifstream文件流操作
		ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间; //ofstream & ifstream inherit from istream class ... 
- io流操作大全
		JAVA 中的IO流 一.流的概念 流(stream)的概念源于UNIX中管道(pipe)的概念.在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备.外部 ... 
- Stream 流操作
		Stream 类 先看下面的图 Stream 是所有流的抽象基类(不能被实例化,需要使用他的派生类FileStream/MemoryStream/BufferedStream).流是字节序列的抽象概 ... 
- c#基础语言编程-文件流操作
		引言 在System.IO 命名空间下提供了一系列的类,我们可以通过相应的类进行文件.目录.数据流的操作. 1.File类:提供用于创建.复制.删除.移动和打开文件的静态方法.File类 2.File ... 
- 使用Java操作文本文件的方法详解
		使用Java操作文本文件的方法详解 摘要: 最初java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个类 最初java是不支持对文本文件的处理的,为了弥补这个缺憾而 ... 
- Java基础---IO(一)---IO流概述、字符流、字节流、流操作规律
		第一讲 IO概述 概述 1.IO流:即InputOutput的缩写. 2.特点: 1)IO流用来处理设备间的数据传输. 2)Java对数据的操作是通过流的方式. 3)Java用于操作流的对象都 ... 
- Java转换流、缓冲流、流操作规律整理
		转换流 1.1 OutputStreamWriter类 OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的字符编码表,将要写入流中的字符编码成字 ... 
- IO流----操作文件的9种方法代码实现
		IO流----操作文件的9种方法代码实现: 1:使用字节流读写数据: 四种方式: method1: 每次读写一个字节,边读边写: /* * 复制文本文件. * * 数据源:从哪里来 ... 
随机推荐
- POJ 1236 Network Of Schools (强连通分量缩点求出度为0的和入度为0的分量个数)
			Network of Schools A number of schools are connected to a computer network. Agreements have been dev ... 
- CentOS 7安装tensorflow 1.6
			pip3 install tensorflow-gpu==1.6 1.6 依赖于cuda 9.0 cuDNN 7,并且前提需要下载和安装nvidia驱动. 安装驱动 nvidia 驱动地址: http ... 
- 微信小程序开发教程(三)项目目录及文件构成
			第二章我们已经创建了一个Hello WXapplet示例小程序.我们从文件目录结构来了解Hello WXapplet项目的构成. 目录结构显示,在小程序项目的根目录下面包含3个app开头的文件(app ... 
- POJ 3688 Cheat in the Game(博弈论)
			[题目链接] http://poj.org/problem?id=3688 [题目大意] 有俩人玩一个取石子的游戏,你是裁判. 游戏中有W块石头和N张卡片,卡片上分别写着数字Ai. 玩家随机抽走一张卡 ... 
- iOS viewDidLoad 什么时候调用
			- (void)viewDidLoad; // Called after the view has been loaded. For view controllers created in code, ... 
- java bean对象拷贝
			Java的bean的属性复制,大家可以都看一下. 谈谈Java开发中的对象拷贝http://www.wtnull.com/view/2/e6a7a8818da742758bcd8b73d49d6be2 ... 
- Spring-data-jpa 之Specification in的用法
			1.一个简单的 Predicate 的示例 构建简单的Predicate示例: Predicate p1=cb.like(root.get(“name”).as(String.class), “%”+ ... 
- JS 创建长度为100的数组,数值为角标
			<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ... 
- PostgreSQL配置文件--连接和认证
			1 连接和认证 CONNECTIONS AND AUTHENTICATION 1.1 连接 CONNECTIONS 1.1.1 listen_addresses 字符型 默认: listen_addr ... 
- 面试题:Java中值传递和引用传递的问题
			随便写写留着自己看. 首先,Java的参数传递,不管是基本数据类型还是引用类型的参数,都是按值传递,没有按引用传递! 当一个实例对象作为参数被传递到方法中时,参数的值就是该对象的引用的一个副本.指向同 ... 
