【问题标题】:read all lines in text file with separator使用分隔符读取文本文件中的所有行
【发布时间】:2015-03-04 16:01:57
【问题描述】:

我有一个包含此内容的文件:

1,2,3,4,5#
1,2,3,4,5#

如何使用readline 读取所有行?重要的是我需要将每行中的值分开,我的意思是第一行的值1,2,3,4,5 应该分开。

假设我有一个名为myarray 的数组,它可以保存第一行中的所有值:数组应该是这样的:

myarray[0]=1
myarray[1]=2
myarray[2]=3
myarray[3]=4
myarray[4]=5

我是 c# 中的 IO 的新手

最好的问候

【问题讨论】:

  • 使用 .net,您可以使用 StreamReader 类。但是,这个类只读取 windows crlf 行 (\r\n)
  • 你试过什么?假设您有两个问题:1. 从文件中读取行(StreamReader.ReadLine 将是一个好的开始),然后 2. 将每一行解析为字段。

标签: c# text-files readline


【解决方案1】:

使用 LINQ 你可以做到:

List<string[]> list = File.ReadLines("YourFile.txt")
                          .Select(r => r.TrimEnd('#'))
                          .Select(line => line.Split(','))
                          .ToList();
  • File.ReadLines 会逐行读取文件。
  • .Select(r =&gt; r.TrimEnd('#')) 将从末尾删除 #
  • .Select(line =&gt; line.Split(',')) 将用逗号分割行并返回一个字符串项数组。
  • ToList() 会给你一个List&lt;string[]&gt; 回。

您还可以在单​​个Select 语句中使用TrimEndSplit,如下所示,(它会产生相同的输出)

List<string[]> list = File.ReadLines("YourFile.txt")
                          .Select(r => r.TrimEnd('#').Split(','))
                          .ToList();

【讨论】:

  • @EhsanAkbar,将"YourFile.txt"更改为您当前拥有的文件路径。
  • 我做了那个亲爱的朋友
  • @EA,您提供的文件路径中有一些非法字符。您提供给File.ReadLines 的路径是什么?
  • List list = File.ReadLines("D:\a.txt") .Select(r => r.TrimEnd('#')) .Select(line => line.Split(',')) .ToList();
  • @EhsanSajjad,很公平。也补充说:)
【解决方案2】:

试试这个

string[] readText = File.ReadAllLines(path);

这将返回一个包含所有行的数组。

https://msdn.microsoft.com/en-us/library/s2tte0y1(v=vs.110).aspx

【讨论】:

    【解决方案3】:

    您可以使用 StreamReader 从文件中读取所有行并使用给定的分隔符 (,) 将它们拆分。

    var filename = @"C:\data.txt";
    using (var sr = new StreamReader(filename))
    {
        var contents = sr.ReadToEnd();
        var myarray = contents.
            Split(',');
    }
    

    虽然我确实更喜欢 LINQ 方法,但答案更上一层楼。

    【讨论】:

      猜你喜欢
      • 2019-04-01
      • 2019-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-05
      • 1970-01-01
      • 2015-07-07
      • 1970-01-01
      相关资源
      最近更新 更多