首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以逐行读取多个文件?

是否可以逐行读取多个文件?
EN

Stack Overflow用户
提问于 2013-08-21 09:10:14
回答 3查看 199关注 0票数 1

我有处理文本的工具。工具有6份备忘录(memoEdit - devexpress)。但是当用户输入大文本(每个备忘录50-100 k行)时,异常会将错误抛出内存

为了避免此异常,我允许用户选择的文件进行处理。工具将读取文件每一行和处理每一行,然后写入文件的结果。

但是我的问题是如何同时读取6输入文件的第1行呢?或者第二行..。N线?

请帮帮忙。

更新

  • 用户输入html链接>>来处理新的html链接
  • 用户输入标题>>以处理新标题
  • 用户输入描述>>来处理新的描述。
  • 用户输入图片链接等链接和模板。

我的工作是处理和混合所有用户输入到一个文件。

更新

工具工作良好,但当导出或写入结果文件时,引发异常。

这就是为什么我认为我需要逐行读取输入文件和写入结果。但问题是如何同时读取4-6文件一行.例句:读6档的第1行?

EN

回答 3

Stack Overflow用户

发布于 2013-08-21 09:28:15

问题是你的记忆快用完了。就这么简单。您的数据量超过了您的RAM。这些文件有多大?将它们加起来,然后将其与您在PC上的内存进行比较。

请记住,c#字符串是Unicode -每个字符16位。您的文本文件可能是8位每字符,但它将永远是16位的内存。

票数 1
EN

Stack Overflow用户

发布于 2013-08-21 10:47:16

我以前也有过一个类似的问题,我可以通过把工作分成几个部分来解决:

  1. 读取输入1至6。
  2. 合并数据
  3. 将几行代码写入磁盘上的文件。
  4. 将几行附加到磁盘上的文件中。
  5. 重复步骤4和步骤5,直到步骤2中的所有数据都写入磁盘上的文件。

完成了!

票数 1
EN

Stack Overflow用户

发布于 2013-08-21 10:48:16

我不确定我是否理解你的问题,因为这听起来很琐碎,但是我们会通过看看是否有什么问题的答案,如果不是--为什么,来找出困扰你的问题。

这是我的建议。它假设您的文件具有相同的行数(假设您说您合并了这些文件的内容)。当然,您的文件可能应该分开单独处理,但您会有这样的想法。

代码语言:javascript
复制
List<System.IO.StreamReader> files = new List<System.IO.StreamReader>
                     {
                            new System.IO.StreamReader("c:\\file1.txt"),
                            new System.IO.StreamReader("c:\\file2.txt"),
                            new System.IO.StreamReader("c:\\file3.txt")
                     };
int lineCount = 0;
bool hasMore = true;
while(hasMore)
{
   foreach(var file in files)
   {
       string fileLine = file.ReadLine();
       hasMore = fileLine != null;
       //add your processing here...
   }

   lineCount++;

}

file.Close();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18353320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档