streamwriter写空文件(用c#修改txt文件内容)

本文目录
用c#修改txt文件内容
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using BarCode.Logs;
namespace BarCode.Else
{
public partial class EventRecord : Form
{
string path = Application.StartupPath + "\\Else\\Memorandum.ini";
public EventRecord()
{
InitializeComponent();
}
private void EventRecord_Load(object sender, EventArgs e)
{
file_open();
}
private void file_open()
{
//打开系统日志文件
if (!File.Exists(path))
{
// 目录/文件不存在,建立目录/文件
File.CreateText(path);
}
//打开文件
//FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);
//通过指定字符编码方式可以实现对汉字的支持,否则在用记事本打开查看会出现乱码
StreamReader m_streamReader = new StreamReader(path, System.Text.Encoding.GetEncoding("GB2312"));
//使用StreamReader类来读取文件
m_streamReader.BaseStream.Seek(0, SeekOrigin.Begin);
// 从数据流中读取每一行,直到文件的最后一行,并在richTextBox1中显示出内容
this.richTextRecord.Text = "";
string strLine = m_streamReader.ReadLine();
while (strLine != null)
{
this.richTextRecord.Text += strLine + "\n";
strLine = m_streamReader.ReadLine();
}
//关闭此StreamReader对象
m_streamReader.Close();
}
private void button1_Click(object sender, EventArgs e)
{
SaveToTxtFile();
}
/// 《summary》
/// 保存文件
/// 《/summary》
private void SaveToTxtFile()
{
//int buffer = 1024;
//创建一个文件流,用以写入或者创建一个StreamWriter
//FileStream fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write);
//通过指定字符编码方式可以实现对汉字的支持,否则在用记事本打开查看会出现乱码
/*改函数很重要由于要将修改的内容覆盖原来的文件内容故设第二个参数为false,
同时还不能用其他类如FileString来操作文件(多线程占用,不能覆盖修改文件)
* 例如:new StreamWriter(fs, true, Encoding.GetEncoding("GB2312"));是错误的*/
StreamWriter m_streamWriter = new StreamWriter(path, false, Encoding.GetEncoding("GB2312"));
m_streamWriter.Flush();
// 使用StreamWriter来往文件中写入内容
m_streamWriter.BaseStream.Seek(0, SeekOrigin.Begin);
// 把richTextBox1中的内容写入文件
m_streamWriter.Write(richTextRecord.Text);
//关闭此文件
m_streamWriter.Flush();
m_streamWriter.Close();
this.labwarm.Text = "保存成功!";
}
private void button2_Click(object sender, EventArgs e)
{
}
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
this.labwarm.Text = "正在文本";
}
private void button3_Click(object sender, EventArgs e)
{
SavefileAs();
}
/// 《summary》
/// 另存为
/// 《/summary》
private void SavefileAs()
{
SaveFileDialog savefile = new SaveFileDialog();
//提示用户选择保存文件(默认为桌面)
savefile.InitialDirectory = @"C:\Documents and Settings\Administrator\桌面";
//打开文件的初始目录
savefile.Filter = "备忘录 (*.txt)|";
savefile.FileName = "Memorandum";
//格式转换如此简单
savefile.DefaultExt = ".txt";
//设置或获取文件后缀
DialogResult dr = savefile.ShowDialog();
if (dr == DialogResult.OK)
{
String filePath = savefile.FileName.ToString();
try
{
File.Copy(path, filePath, true);
}
catch (Exception e1)
{ (new Clogs()).LogError("错误信息", e1); return; }
}
}
}
}
StreamWriter 对象=new StreamReader(文件路径,FileMode,FileEncode)
当需要读写基于字符的数据(比如字符串)的时候,StreamReader和StreamWriter就非常有用了。它们都默认使用Unicode字符,当然我们也可以提供一个正确配置的System.Text.Encoding对象的实例来改变默认配置。为了使例子更简单,假设默认的Unicode编码能满足我们的需求。
StreamReader和相关的StringReader(本章后面会讨论)一样,它们都从TextReader抽象类型派生。TextReader基类为这些派生类型提供了一套非常有限的功能,特别是读取字符流。
StreamWriter类型从TextWriter抽象基类派生。这个类定义了一些成员,使得派生的类型能向某个字符流写入文本数据。图16-7显示了这些新的I/O对象之间的关系。

更多文章:
blast premier春季赛(csgo战队vitality有谁)
2026年9月7日 21:50
全球新冠肺炎疫情背景下航运发展(盐田港复苏日志:半年历劫从“低谷”到“爆仓” 疫情之后巨轮如何越洋航行)
2026年9月7日 17:10
matlab求解带字母参数方程组(我想matlab求一个关于x,y的方程组 ab c d f e h m n 都是参数)
2026年9月7日 16:30
oracle中的循环语句(下面哪个不是oracle程序设计中的循环语句 a for)
2026年9月7日 15:30
电脑里2个系统怎么删除一个(电脑开机显示有两个系统,如何删除一个)
2026年9月7日 12:20
scrollthrough意思(“scroll”是什么意思)
2026年9月7日 08:00





