相关疑难解决方法(0)

C#使用从FileStream创建的StreamWriter覆盖文件

我需要操纵文件的内容:

 FileStream fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None);               
 StreamReader sr = new StreamReader(fs);
 StreamWriter sw = new StreamWriter(fs);
 newString = someStringTransformation(sr.ReadToEnd());
 sw.Write(newString);
 fs.flush();
 fs.Close();
Run Code Online (Sandbox Code Playgroud)

但是,上面附加newString而不是使用新更改覆盖文件.需要这样做,以便在读取写入之间没有其他应用程序可以访问文件,这就是我从FileStream对象创建读取器和编写器的原因.

我知道,你可以创建一个与第二个参数集的StreanWriter虚假描述这里.但是,如上所述创建StreamWriter似乎不是其中一个参数.

c#

9
推荐指数
1
解决办法
1万
查看次数

任何人都可以告诉为什么在使用StreamWriter保存数据时仍然显示以前的数据

我使用Stream writer将数据保存到文件名但是如果我第二次运行代码,则相同的数据会附加到先前的数据但我想清除旧数据并写入数据

我在文本文件中应该有的数据应如下所示

101 435435345 3445454541104021031A094101                                                      
52251               1                   1         CCD1         110402110402   1111000020000001
6281110000251                00000000011              1                     1 0111000020000001
822500000100111000020000000000010000000000001                                  111000020000001
 9000001000001000000010011100002000000000001000000000000                                       
Run Code Online (Sandbox Code Playgroud)

我的示例代码

if (i == 0)
{
  index++;
  string m_strDate = DateTime.Now.ToString("yyyy/MM/dd");
  m_strDate = m_strDate.Replace("/", "");
  StrFilePath = "log" + m_strDate + index + ".txt";
}
  using (StreamWriter sw = new StreamWriter(StrFilePath,true))
    {
     using (StreamReader sr = new StreamReader(new MemoryStream(System.Text.Encoding.ASCII.GetBytes(strLine))))
    {
        while (sr.Peek() >= 0)
         {
           strReadLine = sr.ReadLine();
          if (strReadLine.StartsWith("1"))
           {
                if (i == 0)
              {
                  strFileHeader = strReadLine;
                  sw.WriteLine(strFileHeader); …
Run Code Online (Sandbox Code Playgroud)

c# asp.net streamwriter

0
推荐指数
1
解决办法
1192
查看次数

标签 统计

c# ×2

asp.net ×1

streamwriter ×1