当程序第2次访问打开的文件时,如果把该文件内容清空重新写入,只要能达到这个效果就好!!

解决方案 »

  1.   

    咳,只要filemode.create就可以了,请直接给分
      

  2.   

    StreamWriter sw = new StreamWriter("dex.htm", false, System.Text.Encoding.Default);具体语句,手头没资料,初学者...谢谢,马上给分
      

  3.   

    不要用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命名空间
      

  4.   

    看了以下,原来streamwriter也可以达到你要的效果,但是我一般不用streamwriter。
      

  5.   

    fs.Write(bt,0,bt.Length);你这句话是不是从头开始写?如果我第一次写了N段文字进去,文件并没关闭,过一段时间我发现先前写入的是错的,然后我再从网络留一个包一个包的读,然后一个包一个包的写进去.而并不是只写一句.
      

  6.   

    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才生效
      

  7.   

    错误 1 找不到类型或命名空间名称“FilsStream”(是否缺少 using 指令或程序集引用?) I:\Documents and Settings\zhousir\桌面\新建\MailManageSystem\SystemManage.cs 1190 43 MailManageSystem
      

  8.   

    FileStream,刚才写错了,在System.IO命名空间。
    友情提示:你比较严重的缺乏看msdn,这样编写代码会寸步难行的。
      

  9.   

    初学者,不太了解.byte[] bt=Encoding.Default.GetBytes(s);这句是不是也错了??错误 1 当前上下文中不存在名称“Encoding” I:\Documents and Settings\zhousir\桌面\新建\MailManageSystem\SystemManage.cs 1314 51 MailManageSystem
      

  10.   

    给您一个“读写二进制文件”的例子:
    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
      

  11.   

    System.Text使命空间。能写入字符串吗?而不是bit流
    ======
    计算机里只有1和0,字符串也是1和0的组合成的byte数组。