如何实现文件再次覆盖性的写入? 当程序第2次访问打开的文件时,如果把该文件内容清空重新写入,只要能达到这个效果就好!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 咳,只要filemode.create就可以了,请直接给分 StreamWriter sw = new StreamWriter("dex.htm", false, System.Text.Encoding.Default);具体语句,手头没资料,初学者...谢谢,马上给分 不要用streamwriter,用filestream。string s="afdasfdasfdsa";byte[] bt=Encoding.Default.GetBytes(s);FileStream fs=new FilsStream("aaa.txt",FileMode.Create,FileAccess.Write);fs.Write(bt,0,bt.Length);fs.Close();这样,如果原来没有aaa.txt,那么则建立aaa.txt,如果有aaa.txt,则自动清空aaa.txt写入新内容。建议多看看IO命名空间 看了以下,原来streamwriter也可以达到你要的效果,但是我一般不用streamwriter。 fs.Write(bt,0,bt.Length);你这句话是不是从头开始写?如果我第一次写了N段文字进去,文件并没关闭,过一段时间我发现先前写入的是错的,然后我再从网络留一个包一个包的读,然后一个包一个包的写进去.而并不是只写一句. fs.Write(bt,0,bt.Length);这一句不是从头,而是把这个bt整个写入当前流的当前位置,如果你一开始有个filestream没有close如果第一次fs.Write(bt,0,bt.Length);则写入n个字节第二次fs.Write(bt,0,bt.Length);则从n个字节后再写入n个字节,只有fs.close后,重新filestream那样create才生效 错误 1 找不到类型或命名空间名称“FilsStream”(是否缺少 using 指令或程序集引用?) I:\Documents and Settings\zhousir\桌面\新建\MailManageSystem\SystemManage.cs 1190 43 MailManageSystem FileStream,刚才写错了,在System.IO命名空间。友情提示:你比较严重的缺乏看msdn,这样编写代码会寸步难行的。 初学者,不太了解.byte[] bt=Encoding.Default.GetBytes(s);这句是不是也错了??错误 1 当前上下文中不存在名称“Encoding” I:\Documents and Settings\zhousir\桌面\新建\MailManageSystem\SystemManage.cs 1314 51 MailManageSystem 给您一个“读写二进制文件”的例子:1、在 Microsoft Visual Studio .NET 的“文件”菜单上,单击“新建”,然后单击“项目”。 2、在“新建项目”对话框中,选择“Visual C#项目”,再选择“Windows 应用程序”模板。 3、键入 FileApp 作为该程序的名称,然后单击确定。4、在Form1.cs的视图设计器中,添加如下控件:控件类型 控件名称 控件属性 属性值Button button1 Text 写入二进制文件Button button2 Text 读取二进制文件Label label1 Text 写入内容Label label2 Text 读取内容5、在Form1.cs的代码设计器中,引用添加如下代码using System.IO;6、在Form1.cs的视图设计器中,选中button1,在属性框中选中事件,双击Click,在Form1.cs的代码设计器中,添加修改如下代码private void button1_Click(object sender, EventArgs e){ SaveFileDialog SaveFileDialog1 = new SaveFileDialog(); if (SaveFileDialog1.ShowDialog() == DialogResult.OK) { FileStream FS = new FileStream(SaveFileDialog1.FileName, FileMode.Create);//文件不存在则新建 BinaryWriter BWriter = new BinaryWriter(FS);//以二进制打开文件流 byte[] buffer = Encoding.Default.GetBytes(richTextBox1.Text);//可以用不同的字符编码 BWriter.Write(buffer, 0, buffer.Length); BWriter.Close(); FS.Close(); MessageBox.Show(this, "写入文件完成。", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information); }}7、在Form1.cs的视图设计器中,选中button2,在属性框中选中事件,双击Click,在Form1.cs的代码设计器中,添加修改如下代码private void button2_Click(object sender, EventArgs e){ OpenFileDialog OpenFileDialog = new OpenFileDialog(); if (OpenFileDialog.ShowDialog() == DialogResult.OK) { FileStream FS = new FileStream(OpenFileDialog.FileName, FileMode.OpenOrCreate);//打开文件流 BinaryReader BReader = new BinaryReader(FS);//以二进制读取文件 byte[] buffer = new byte[BReader.BaseStream.Length]; BReader.Read(buffer, 0, buffer.Length);//读取文件内容 richTextBox2.Text = Encoding.Default.GetString(buffer);//字符编码要与写入时相同 BReader.Close(); FS.Close(); MessageBox.Show(this, "读取文件完成。", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information); }}9、编译要想轻松开发软件,详见http://www.psec.net.cn System.Text使命空间。能写入字符串吗?而不是bit流======计算机里只有1和0,字符串也是1和0的组合成的byte数组。 B表数据更新到A表 数组问题。 c# 四舍五入问题 右键菜单是如何实现的. C# 接口(interface)的理解 几天后问题依然还是问题,唉...... 请问《C#程序设计》中文版电子书的下载地址? 多数组多条件抽取元素的优化算法 怎样获取script写的模板中的值 如何在C#中使用IE控件? 串口通讯中的7位数据位,和8位数据位,在实际数据通信中除了.NET serviralPort参数设备不同以外还有其他要求吗? .NET(XP SP2)下还有无办法实现IP的隐藏或是更改IP头从而与网页交互?高手请进!
byte[] bt=Encoding.Default.GetBytes(s);
FileStream fs=new FilsStream("aaa.txt",FileMode.Create,FileAccess.Write);
fs.Write(bt,0,bt.Length);
fs.Close();这样,如果原来没有aaa.txt,那么则建立aaa.txt,如果有aaa.txt,则自动清空aaa.txt写入新内容。
建议多看看IO命名空间
这一句不是从头,而是把这个bt整个写入当前流的当前位置,如果你一开始有个filestream没有close
如果第一次fs.Write(bt,0,bt.Length);则写入n个字节第二次fs.Write(bt,0,bt.Length);则从n个字节后再写入n个字节,只有fs.close后,重新filestream那样create才生效
友情提示:你比较严重的缺乏看msdn,这样编写代码会寸步难行的。
1、在 Microsoft Visual Studio .NET 的“文件”菜单上,单击“新建”,然后单击“项目”。
2、在“新建项目”对话框中,选择“Visual C#项目”,再选择“Windows 应用程序”模板。
3、键入 FileApp 作为该程序的名称,然后单击确定。
4、在Form1.cs的视图设计器中,添加如下控件:
控件类型 控件名称 控件属性 属性值
Button button1 Text 写入二进制文件
Button button2 Text 读取二进制文件
Label label1 Text 写入内容
Label label2 Text 读取内容
5、在Form1.cs的代码设计器中,引用添加如下代码
using System.IO;
6、在Form1.cs的视图设计器中,选中button1,在属性框中选中事件,双击Click,在Form1.cs的代码设计器中,添加修改如下代码
private void button1_Click(object sender, EventArgs e)
{
SaveFileDialog SaveFileDialog1 = new SaveFileDialog();
if (SaveFileDialog1.ShowDialog() == DialogResult.OK)
{
FileStream FS = new FileStream(SaveFileDialog1.FileName, FileMode.Create);//文件不存在则新建
BinaryWriter BWriter = new BinaryWriter(FS);//以二进制打开文件流
byte[] buffer = Encoding.Default.GetBytes(richTextBox1.Text);//可以用不同的字符编码
BWriter.Write(buffer, 0, buffer.Length);
BWriter.Close();
FS.Close();
MessageBox.Show(this, "写入文件完成。", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
7、在Form1.cs的视图设计器中,选中button2,在属性框中选中事件,双击Click,在Form1.cs的代码设计器中,添加修改如下代码
private void button2_Click(object sender, EventArgs e)
{
OpenFileDialog OpenFileDialog = new OpenFileDialog();
if (OpenFileDialog.ShowDialog() == DialogResult.OK)
{
FileStream FS = new FileStream(OpenFileDialog.FileName, FileMode.OpenOrCreate);//打开文件流
BinaryReader BReader = new BinaryReader(FS);//以二进制读取文件
byte[] buffer = new byte[BReader.BaseStream.Length];
BReader.Read(buffer, 0, buffer.Length);//读取文件内容
richTextBox2.Text = Encoding.Default.GetString(buffer);//字符编码要与写入时相同
BReader.Close();
FS.Close();
MessageBox.Show(this, "读取文件完成。", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
9、编译要想轻松开发软件,详见http://www.psec.net.cn
======
计算机里只有1和0,字符串也是1和0的组合成的byte数组。