如何覆盖文本文件的最后一行
How to overwrite the last line of text file
FileStream files = new FileStream("text.txt", FileMode.Append, FileAccess.Write);
StreamWriter cmdswriter = new StreamWriter(files);
cmdswriter.Write("last line content");
Nether OS 和 Filesystem 都不知道什么是 line
。您必须打开一个文件,在末尾查找并向后读取,直到获得 end-of-line
字符。此位置之后的所有内容都是最后一行。
FileStream files = new FileStream("text.txt", FileMode.Append, FileAccess.Write);
StreamWriter cmdswriter = new StreamWriter(files);
cmdswriter.BaseStream.Seek("line content to overwrite".Length * -1, SeekOrigin.End);
cmdswriter.Write("last line content");
cmdswriter.Flush();
cmdswriter.Close();
如果您的文件不是太大:
string path = "text.txt";
var fileContent = File.ReadLines(path).ToList();
fileContent[fileContent.Count - 1] = "last line content";
File.WriteAllLines(path, fileContent);
FileStream files = new FileStream("text.txt", FileMode.Append, FileAccess.Write);
StreamWriter cmdswriter = new StreamWriter(files);
cmdswriter.Write("last line content");
Nether OS 和 Filesystem 都不知道什么是 line
。您必须打开一个文件,在末尾查找并向后读取,直到获得 end-of-line
字符。此位置之后的所有内容都是最后一行。
FileStream files = new FileStream("text.txt", FileMode.Append, FileAccess.Write);
StreamWriter cmdswriter = new StreamWriter(files);
cmdswriter.BaseStream.Seek("line content to overwrite".Length * -1, SeekOrigin.End);
cmdswriter.Write("last line content");
cmdswriter.Flush();
cmdswriter.Close();
如果您的文件不是太大:
string path = "text.txt";
var fileContent = File.ReadLines(path).ToList();
fileContent[fileContent.Count - 1] = "last line content";
File.WriteAllLines(path, fileContent);