Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将文本文件行逐行移动,删除第一行_C#_.net_Logic - Fatal编程技术网

C# 将文本文件行逐行移动,删除第一行

C# 将文本文件行逐行移动,删除第一行,c#,.net,logic,C#,.net,Logic,如何根据特定行的条件xyz=true,在删除特定行后将文本文件行移位1。我想用C 对小文件(可以完全加载到内存中的文件)执行此操作的一种简单方法是使用File.ReadAllLines()获取行的字符串[]。这样,您就可以在strings数组中循环,并对每个数组进行测试,以确定是否应该将其写入新文件 最近这里也出现了类似的问题 如果要将输出写入新文件,则无需担心将所有后续行向上移动,删除整行也将删除行结尾字符 希望这有帮助安全的方法是将未删除的行写入临时文件,如果一切正常,则将临时文件与原始文件

如何根据特定行的条件xyz=true,在删除特定行后将文本文件行移位1。我想用C


对小文件(可以完全加载到内存中的文件)执行此操作的一种简单方法是使用
File.ReadAllLines()
获取行的
字符串[]
。这样,您就可以在
string
s数组中循环,并对每个数组进行测试,以确定是否应该将其写入新文件

最近这里也出现了类似的问题

如果要将输出写入新文件,则无需担心将所有后续行向上移动,删除整行也将删除行结尾字符


希望这有帮助

安全的方法是将未删除的行写入临时文件,如果一切正常,则将临时文件与原始文件交换,然后删除旧文件。如果更改中途出现IO错误,不这样做可能会损坏文件。
file.writeAllines(filePath,file.ReadAllLines(filePath).Where(line=>!line.Contains(“xyz”)(这应该是可行的,但是考虑一下关于安全处理I/O错误的@ DuHurCH注释)非常感谢特里沃
 using (StreamWriter writer = new StreamWriter(file))
        {

            while ((line = rows[rowIndex++]) != null)
            {
            if( line contains xyz )// i know the logic to find this;
               {
                  delete this line and shift all below lines one up;
                 }
                 }
           }