将一组特定的直线从平面文件移动到另一个平面文件中

本文关键字:平面文件 移动 另一个 一组 | 更新日期: 2023-09-27 18:19:34

我正试图使用c#将一个文件的内容转储到另一个文件中。不是全部内容,而是一组特定的行。我把文件读入一个数组。

现在我想做的是,我想删除一定数量的行,比如说,从总共50行的文件中,前10行和后20行将被排除在外。

我的代码看起来像

System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:'manoj'File.txt");
string[] lines = System.IO.File.ReadAllLines(@"C:'manoj'sample.txt");
for (i = 10; i <= 30; i++)
   {
       foreach(string line in lines)
       {
           file.writeline(line[i]);
       }
   }

索引超出了数组的界限是我得到的错误。

有人能给我建议吗?

将一组特定的直线从平面文件移动到另一个平面文件中

对于文件的每一行,您都在访问从第10个到第30个的每个字符。在包含少于30个字符的第一行,程序会引发错误,您将获得

您不应该将计数为30的循环与在文件中的行上迭代的循环嵌套。试试这个

var total_lines = lines.Count;
var linecount = 0;
foreach(string line in lines) {   
    linecount ++;
    if (linecount >= 10 || linecount <= total_lines - 20) {
        file.writeline(line);
    }
}

这将使用linecount变量来计算行数,然后根据该变量的值选择性地输出。