C#覆盖.txt文件中的特定文本

时间:2017-08-28 14:21:26

标签: c#

所以我实际上正在开发一个类库项目(.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文件。

\"\"是我不想添加自己会覆盖的文字的地方。

非常欢迎回答,谢谢您抽出宝贵的时间

1 个答案:

答案 0 :(得分:0)

文件的工作方式,通常需要重新编写整个文件。这是Windows和Linux大多数现代文件系统的限制,而不是您正在使用的语言或平台。

有时你只能写一小段,但只有当新文本与旧文本的大小完全相同时才会出现这种情况。这是固定长度记录仍然经常用于高性能和大规模场景(如关系数据库)的原因之一。

虽然我在这里...... File.Exists()检查是浪费和无用的。您通常应该完全避免使用File.Exists()。相反,请将FileStreamFileMode.CreateNew结合使用StreamWriter。如果创建文件失败,您将需要处理异常,但无论如何您应该这样做,因为文件系统相对于您的代码是易变的,并且已经存在并不是您可能无法创建文件。

相关问题