jer*_*han 18 c# string file-io
我有一个字符串args[0].
到目前为止,这是我的代码:
static void Main(string[] args)
{
string latestversion = args[0];
// create reader & open file
using (StreamReader sr = new StreamReader("C:\\Work\\list.txt"))
{
while (sr.Peek() >= 0)
{
// code here
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想检查一下我的list.txt文件是否包含args[0].如果是,那么我将创建另一个进程StreamWriter来写一个字符串1或0文件.我该怎么做呢?
Jon*_*eet 32
你期待文件特别大吗?如果没有,最简单的方法就是阅读整个内容:
using (StreamReader sr = new StreamReader("C:\\Work\\list.txt"))
{
string contents = sr.ReadToEnd();
if (contents.Contains(args[0]))
{
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
要么:
string contents = File.ReadAllText("C:\\Work\\list.txt");
if (contents.Contains(args[0]))
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
或者,您可以逐行阅读:
foreach (string line in File.ReadLines("C:\\Work\\list.txt"))
{
if (line.Contains(args[0]))
{
// ...
// Break if you don't need to do anything else
}
}
Run Code Online (Sandbox Code Playgroud)
或者甚至更像LINQ:
if (File.ReadLines("C:\\Work\\list.txt").Any(line => line.Contains(args[0])))
{
...
}
Run Code Online (Sandbox Code Playgroud)
请注意,ReadLines只能从.NET 4中获得,但您可以合理地轻松地自行调用TextReader.ReadLine循环.