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: 每次读写一个字节,边读边写: /* * 复制文本文件. * * 数据源:从哪里来 ...
随机推荐
- 学懂grid布局:这篇就够了(译)
上周发过一篇关于flex布局的文章,但发完之后我感觉我并没有写很多自己对flex布局的理解,因为原链接的作者的轮子实在是太强了,这里借用知乎大佬牛岱的话来说,当人家已经有足够好的轮子,你就不要试图,甚 ...
- 洛谷——P1226 取余运算||快速幂
P1226 取余运算||快速幂 题目描述 输入b,p,k的值,求b^p mod k的值.其中b,p,k*k为长整型数. 输入输出格式 输入格式: 三个整数b,p,k. 输出格式: 输出“b^p mod ...
- CodeForces - 981G Magic multisets
假设我们可以对每个位置快速维护一个数组,记录每个位置有哪些值是已经出现了的,哪些值是没有出现的,这样就可以决定修改的时候到底是 *2 还是 +1了. 但是很可惜,并不存在功能这么强大的数组,所以只能另 ...
- 【枚举】【前缀和】【map】ICM Technex 2017 and Codeforces Round #400 (Div. 1 + Div. 2, combined) C. Molly's Chemicals
处理出前缀和,枚举k的幂,然后从前往后枚举,把前面的前缀和都塞进map,可以方便的查询对于某个右端点,有多少个左端点满足该段区间的和为待查询的值. #include<cstdio> #in ...
- 【贪心】bzoj3721 PA2014 Final Bazarek
考虑不限制奇偶的情况,那就是直接排序取前k个的和. 加上奇偶限制:若排序后的前k个的和是偶数,则“显然地”:将其中的最小的奇数替换成未被选择的数中最大的偶数 或者 将其中的最小的偶数替换成未被选择的数 ...
- centos7下解决python3和python2同时存在但是无法使用pip3的问题
一.首先,官网下载python3的所需版本. wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz 想下载到那个文件夹下就先进入到 ...
- Java 输入框复用代码
1 int messageType=JOptionPane.INFORMATION_MESSAGE; String message=mines + " minutes is approxim ...
- NHibernate官方文档中文版——持久化类(Persistent Classes)
持久化类是一个应用程序中的类,主要用来实现业务逻辑(例如,在电商应用中的客户和订单类).持久化类,就像它的名字一样,生命周期短暂并且用来持久化的据库对象实例. 如果这些类的构造能够依照一些简单的原则, ...
- python 未发现数据源名称并且未指定默认驱动程序
最近在用python连接sqlserver读取数据库,读取数据时候在本机电脑正常,但是把程序部署到服务器运行时一直报错“未发现数据源名称并且未指定默认驱动程序”,后来发现是因为数据源的问题,解决如下: ...
- 外网无法连接Kafka集群(报错:NoBrokersAvailable)
本地Consumer和Producer无法使用远程Kafka服务器的解决方法: 分别修改各台服务器Kafka配置文件server.properties, 在#listeners=PLAINTEXT:/ ...