相关疑难解决方法(0)

如何读取文本文件中的指定行?

给定一个文本文件,我将如何读取文件中的任意行?

说,我有一个文件test.txt.我如何阅读文件中的第15行?

我所看到的是涉及将整个文本文件存储为String数组然后使用行号的值作为要从数组中使用的String的数量的东西......但是有一些复杂情况:文本文件是巨大的,我正在编写的应用程序的机器并不是一个顶尖的系统.速度不是首要任务,但绝对是一个主要问题.

有没有办法读取文本文件的特定行并将结果存储为字符串?

感谢您的回复:该文件是KINDA结构化的.它有25行信息,然后X号线,但第25行17具有的价值X.

但是,有一个空白行,它作为文件中的第二条记录重复自身,X可以为每条记录赋予不同的值.

我想要做的是读取并存储前25行作为独立值,然后将下一个X(通常约250)行存储为数组.然后我将它存储在SQL数据库中并重复使用NEXT记录,直到我到达第Y条记录(文件中的记录数在第3行)

编辑2:好吧,我想我已经找到了基于你所有人的回应的解决方案.

我将读取前25行并将其存储为数组.我将数组的相关内容复制到局部变量然后我将删除前25行.然后,我可以使用info将下一个X行(数组中的第13项的值)存储为数组,将其序列化,将其存储在数据库中,然后删除我刚刚读取的行.

然后,我可以为每个后续记录重复该过程.

当然,这取决于我正在做的一个假设,说实话,我不确定是否属实.是否有可能从C#中删除文本文件中的前n行而不必读取整个内容并在没有前n行的情况下重写它?

c# string file-io input

53
推荐指数
3
解决办法
20万
查看次数

在C#中编辑文本文件的特定行

我有两个文本文件,Source.txt和Target.txt.源将永远不会被修改并包含N行文本.所以,我想删除Target.txt中的特定文本行,并用Source.txt中的特定文本行替换,我知道我需要的行数,实际上是行号2,两个文件.

我有这样的事情:

string line = string.Empty;
int line_number = 1;
int line_to_edit = 2;

using (StreamReader reader = new StreamReader(@"C:\source.xml"))
{
    using (StreamWriter writer = new StreamWriter(@"C:\target.xml"))
    {
        while ((line = reader.ReadLine()) != null)
        {
            if (line_number == line_to_edit)
            {
                writer.WriteLine(line);
            } 

            line_number++;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当我打开Writer时,目标文件被擦除,它会写入行,但是,当打开时,目标文件只包含复制的行,其余的则丢失.

我能做什么?

c# stream filestream

29
推荐指数
2
解决办法
11万
查看次数

从大文本文件中读取随机行

我有一个5000多行的文件.我想找到每次运行程序时选择其中一行的最有效方法.我原本打算用随机方法选择一个(之前我知道有5000行).认为可能效率低下,所以我想我会看第一行,然后从顶部删除它并将其附加到底部.但似乎我必须读取整个文件并创建一个要从顶部删除的新文件.

什么是最有效的方法:随机方法或新文件方法?

该程序将每5分钟运行一次,我使用的是c#4.5

c# text-files

8
推荐指数
1
解决办法
2860
查看次数

从文件中读取随机行?C#

我有一个几百行的文本文件,结构很简单.

名字姓氏

我需要从文件中挑选一个随机的firstname和listname.

.net c# file

7
推荐指数
2
解决办法
7480
查看次数

标签 统计

c# ×4

.net ×1

file ×1

file-io ×1

filestream ×1

input ×1

stream ×1

string ×1

text-files ×1