2017-08-28 167 views
0

所以我实际上在处理类库项目(.dll)。我想知道如何选择要读取和执行的文本文件的特定部分。换句话说,我的意思是:C#覆盖.txt文件中的特定文本

当编辑这个文件时,是否有任何方法可以从.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

不知道你在问什么:1.'覆盖.txt文件中的特定文本'2.'如何选择要读取和执行的文本文件的特定部分“3.是否有任何方法来选择特定部分可以覆盖.txt文件中的.dll文件。那么是哪一个呢? – Vikhram

+0

找到目录,迭代读取的项目,并替换找到的项目。 – TGarrett

回答

0

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

您有时可以逃脱只写一小段,但只有在新文本与旧文本大小完全相同的情况下才会发生。这是为什么固定长度记录仍然经常用于关系数据库等高性能和大规模场景的一部分。

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