Sea*_*ght 40
如果您要删除的行基于该行的内容:
string line = null;
string line_to_delete = "the line i want to delete";
using (StreamReader reader = new StreamReader("C:\\input")) {
using (StreamWriter writer = new StreamWriter("C:\\output")) {
while ((line = reader.ReadLine()) != null) {
if (String.Compare(line, line_to_delete) == 0)
continue;
writer.WriteLine(line);
}
}
}
Run Code Online (Sandbox Code Playgroud)
或者如果它基于行号:
string line = null;
int line_number = 0;
int line_to_delete = 12;
using (StreamReader reader = new StreamReader("C:\\input")) {
using (StreamWriter writer = new StreamWriter("C:\\output")) {
while ((line = reader.ReadLine()) != null) {
line_number++;
if (line_number == line_to_delete)
continue;
writer.WriteLine(line);
}
}
}
Run Code Online (Sandbox Code Playgroud)
Ari*_*yck 13
执行此操作的最佳方法是以文本模式打开文件,使用ReadLine()读取每一行,然后使用WriteLine()将其写入新文件,跳过要删除的一行.
据我所知,没有通用的delete-a-line-from-file函数.
如果文件不是很大,一种方法是将所有行加载到数组中:
string[] lines = File.ReadAllLines("filename.txt");
string[] newLines = RemoveUnnecessaryLine(lines);
File.WriteAllLines("filename.txt", newLines);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
103432 次 |
| 最近记录: |