将一组特定的直线从平面文件移动到另一个平面文件中
本文关键字:平面文件 移动 另一个 一组 | 更新日期: 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
变量来计算行数,然后根据该变量的值选择性地输出。