读取文件中的特定行

时间:2012-07-21 16:49:36

标签: c# winforms text-files readline readfile

我知道之前已经多次回答了这个问题。但是我要问这个C#。而java有一些。还有一个用于C#,但它让我无处可去。所以请不要因为我有理由这么差。谢谢。

我的最终目标是在我的应用程序中使用设置功能。我希望将所有这些设置保存到文本文件中。当应用程序打开时,它将自动读取该文件并调整表单上的控件。

我不确定从哪里开始,但我想知道是否有某些内容

String readLine(File file, int lineNumber)

提前谢谢。

我已经保存了一个文件,并且正在打开一个文件。但我只保存了一个设置。这需要第一行。但是如果我想添加更多的控件被保存,而不是为每个选项创建一个新文件,我想在该文件中放置几行,并且每行都有自己的控件,它会改变。

那么,我如何阅读文本文件的特定行?

再次感谢。

3 个答案:

答案 0 :(得分:3)

主要是必须读取文本文件的每一行以定位特定行(如果需要,在该行停止),因为每个文本行可以具有不同的长度,因此您不能只计算文件中的偏移量去那里。

如果这确实是一个配置文件(可能不是很大,你可以使用

string[] lines = File.ReadAllLines(myPath);

http://msdn.microsoft.com/en-us/library/s2tte0y1.aspx

这样,文件的所有行都被读入lines,您可以访问单独的行,如

string line = lines[2];

如果你真的只想阅读一个特定的行(请记住,如果你在应用程序中读取多行,因为你不断从文件的开头重新读取,这将是非常低效的),你将不得不编写自己的帮助程序。

答案 1 :(得分:2)

如果您需要设置功能use the default,请不要自行滚动。解析和升级时会遇到更多问题并找到保存位置,以便在用户在UAC或非管理员帐户下运行时可以修改它

答案 2 :(得分:2)

除非所有行的长度完全相同,否则您不能只跳到文件中的某个行号。如果您需要大多数选项,只需使用System.IO.File.ReadAllLines将文件作为一系列行读取:

string[] lines = File.ReadAllLines("myfile.txt");

然后您可以像平常一样访问每一行,对第二行说lines[1]

此外,如果您不需要使用其他任何内容修改这些设置,只需使用内置设置即可。他们为您处理一切。