【C#】txt的读写
来源:互联网 发布:苹果系统删除软件 编辑:程序博客网 时间:2024/05/02 00:06
这个程序和《【C#】XML读写与dataGridView的使用》(点击打开链接)一个尿性,只是代码更加简单,因为C#对txt的读写基本上和Java一样,具体见《【Java】输入与输出与JDK1.5之后的新型字符串StringBuilder》(点击打开链接),直接一个FileStream与StreamReader/StreamWriter就足矣,但貌似自己还没有写过C#的文件流,也就在这里写写了。还是弄一个窗体程序,可以读txt到TextBox,并且能将TextBox的内容写入到文件。
如果用户一开始是没有读入txt的话,那就是直接创建一个新的文件再写入。
这个程序的编写步骤如下:
一、场景布置
场景布置如下图所示,在Form1中布置2个Button+1个textbox
二、脚本编写
双击Button1与Button2分别赋予点击事件,编写如下的代码:
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.IO;namespace txtRW{ public partial class Form1 : Form { string txt_FilePath = "";//用来记录当前打开文件的路径的 public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog1 = new System.Windows.Forms.OpenFileDialog();//一个打开文件的对话框 openFileDialog1.Filter = "文本文件(*.txt)|*.txt";//设置允许打开的扩展名 if (openFileDialog1.ShowDialog() == DialogResult.OK)//判断是否选择了文件 { txt_FilePath = openFileDialog1.FileName;//打开文件的路径 textBox1.Text = "";//清空textBox1 StreamReader streamReader = new StreamReader(txt_FilePath, Encoding.Default);//记录用户选择的文件路径 while (!streamReader.EndOfStream) {//如果这个还没有读到文件尾 string line = streamReader.ReadLine();//就一行一行地读 textBox1.Text += line + "\r\n"; } streamReader.Close();//一定要关闭这个流,不然会和下面保存文件的流冲突 } else { MessageBox.Show("请打开txt文件"); } } private void button2_Click(object sender, EventArgs e) { FileStream fileStream = null;//根据不同情况使用不同的文件指针 if (txt_FilePath == "")//如果用户没读取过文件,那就获取一个文件路径写入 { SaveFileDialog saveFileDialog1 = new System.Windows.Forms.SaveFileDialog();//打开一个保存对话框 saveFileDialog1.Filter = "文本文件(*.txt)|*.txt";//设置允许打开的扩展名 if (saveFileDialog1.ShowDialog() == DialogResult.OK)//判断是否选择了一个文件路径 { txt_FilePath = saveFileDialog1.FileName;//获取保存路径 fileStream = new FileStream(txt_FilePath, FileMode.Create);//以创建的方式打开这个文件 } else { MessageBox.Show("请打开txt文件"); } } else//如果用户已经打开了文件 { fileStream = new FileStream(txt_FilePath, FileMode.Truncate);//以覆盖写入的方式打开这个文件 } StreamWriter streamWriter = new StreamWriter(fileStream); streamWriter.Write(textBox1.Text);//开始写入 streamWriter.Flush();//清空缓冲区 //关闭流 streamWriter.Close(); fileStream.Close(); MessageBox.Show("写入txt文件成功!"); } }}
这里值得注意主要就是FileStream与StreamReader/StreamWriter两个流,对于StreamReader无须FileStream帮助,自己就能指明程序路径读取,StreamWriter由于写入方式有覆盖写入、创建写入和附加写入的存在,因此需要借助FileStream的帮助,如果希望是附加写入的,FileStream的第二个参数请使用FileMode.Append
0 0
- 【C#】txt的读写
- C#TXT文本的读写
- C-语言TXT文件的读写
- 【c#】读写txt文件
- 读写txt的方式
- C语言读写txt文件
- C语言读写txt文件
- c读写txt文件示例
- 关于C和C++分别读写TXT数据文件的源代码
- Linux下运用C/C++实现txt文件的读写
- MFC --txt文本文件的读写
- MFC TXT 文本文件的读写
- [C#]解决读写包含汉字的txt文件时乱码的问题
- [C#]解决读写包含汉字的txt文件时乱码的问题
- 转:[C#]解决读写包含汉字的txt文件时乱码的问题
- [C#]解决读写包含汉字的txt文件时乱码的问题
- [C#]解决读写包含汉字的txt文件时乱码的问题
- [C#]解决读写包含汉字的txt文件时乱码的问题
- 541.Reverse String II(String-Easy)
- 解决Unable toconnect to a repository at URL 禁止访问(forbidden)
- CentOS 6.5 下载地址
- docker应用-5(使用overlay 网络进行容器间跨物理主机通信)
- 链栈的基本操作
- 【C#】txt的读写
- 银行操作系统简单交易
- Intel80x86内存寻址
- git学习-- -fatal: 不是一个有效的对象名:'master'。
- MyBatis test 数字判断没生效
- hbase日志出现Session expired异常排查方法
- H5游戏的开发特点
- mac下设置redis开机启动方法步骤
- docker应用-6(mysql+mycat 搭建数据库集群)