所以我实际上正在开发一个类库项目(.dll)。我想知道如何选择要读取和执行的文本文件的特定部分。换句话说,我的意思是:
有没有办法选择一个特定的部分,可以在编辑这个文件时覆盖.txt文件中的.dll文件?
if (!File.Exists(path))
{
string[] config = new string[] {
"Server website = \"\"",
"\nServer rules = \"\"",
"\nServer title = \"\"",
"\nCredits = \"\"",
};
File.WriteAllLines(path, config);
此代码块将在特定路径(private string path = Environment.CurrentDirectory + @"\scripts\StickyNotes.txt";
)中创建.txt文件。
\"\"
是我不想添加自己会覆盖的文字的地方。
非常欢迎回答,谢谢您抽出宝贵的时间
答案 0 :(得分:0)
文件的工作方式,通常需要重新编写整个文件。这是Windows和Linux大多数现代文件系统的限制,而不是您正在使用的语言或平台。
有时你只能写一小段,但只有当新文本与旧文本的大小完全相同时才会出现这种情况。这是固定长度记录仍然经常用于高性能和大规模场景(如关系数据库)的原因之一。
虽然我在这里...... File.Exists()
检查是浪费和无用的。您通常应该完全避免使用File.Exists()
。相反,请将FileStream
与FileMode.CreateNew
结合使用StreamWriter
。如果创建文件失败,您将需要处理异常,但无论如何您应该这样做,因为文件系统相对于您的代码是易变的,并且已经存在并不是您可能无法创建文件。