c#从流中删除了额外的回车

  • 本文关键字:回车 删除 c# stream
  • 更新时间 :
  • 英文 :


我以流的形式读取文件:Stream fin = File.OpenRead(FilePath);是否有任何方法,我将如何能够找到并删除所有回车从该文件流?

编辑:目标是删除单个回车符r,并保留带有换行符"rn"的回车符。

示例文件:

The key backed up in this file is:r
rn
pub   2048R/65079BB4 2011-08-01r
rn
      Key fingerprint = 2342334234r
rn
uid                  testr
rn
sub   2048R/0B917D1C 2011-08-01r

结果应该是这样的:

The key backed up in this file is:
rn
pub   2048R/65079BB4 2011-08-01
rn
      Key fingerprint = 2342334234
rn
uid                  test
rn
sub   2048R/0B917D1C 2011-08-01

EDIT2:最终的解决方案是这样的:

    static private Stream RemoveExtraCarriageReturns(Stream streamIn)
    {
        StreamReader reader = new StreamReader(streamIn);
        string key = reader.ReadToEnd();
        string final = key.Replace("rr", "r");
        byte[] array = Encoding.ASCII.GetBytes(final);
        MemoryStream stream = new MemoryStream(array);
        return stream;
    }

我在Stream中使用StreamReader将其读入字符串,然后删除额外的回车并将其写回Stream。我的代码看起来正常吗?或者我应该做一些不同的事情吗?

查看示例文本后,下面将删除单个'r'实例:

string text = File.ReadAllText(FilePath);
text = text.Replace("rr", "r");
File.WriteAllText(FilePath + ".modified", text);

如何:

string final = string.Join("", File.ReadLines(path));

?它逐行读取,然后重新组合,不需要任何分隔符。

替换字符串中的换行符c#

上面有答案。您可以将文件读入字符串,然后删除换行符。

相关内容

  • 没有找到相关文章

最新更新