2012-10-31 17 views
1

我在這裏遇到問題。我有一個.txt文件,其中一行包含「消息」,這是我想改變的行。但是我無法獲得此代碼的工作,任何人都可以幫助我? 我在這裏有這個代碼只是替換一個字符串,但我不知道如何去做,所以它改變了整個行。如何在C#中更改txt文檔中的一行#

public void t() 
{ 
    string filename = @"F:\test\test.txt"; 
    StringBuilder result = new StringBuilder(); 

    if (System.IO.File.Exists(filename)) 
    { 
     using (StreamReader streamReader = new StreamReader(filename)) 
     { 
      String line; 
      while ((line = streamReader.ReadLine()) != null) 
      { 
       string newLine = String.Concat(line, Environment.NewLine); 
       newLine = newLine.Replace("message", "HEJHEJ "); 
       result.Append(newLine); 
      } 
     } 
    } 

    using (FileStream fileStream = new FileStream(filename, FileMode.Open, FileAccess.ReadWrite)) 
    { 
     StreamWriter streamWriter = new StreamWriter(fileStream); 
     streamWriter.Write(result); 
     streamWriter.Close(); 
     fileStream.Close(); 
    } 
} 

此代碼是量變到質變「」到「HEJHEJ」,但我想在TXT文檔全線更改爲「HEJHEJ」,而不是僅僅只有「消息」部分

回答

2

怎麼樣改變這個:

string newLine = String.Concat(line, Environment.NewLine); 
newLine = newLine.Replace("message", "HEJHEJ "); 
result.Append(newLine); 

這樣:

string newLine; 
if (line.Contains("message")) { 
    newLine = String.Concat("HEJHEJ ", Environment.NewLine); 
} 
else { 
    newLine = String.Concat(line, Environment.NewLine); 
} 
result.Append(newLine); 

有很多簡潔的方式來做到這一點,當然。

0

我有我的txt文檔與線:

消息的HelloWorld

與您的代碼這一行變爲:

HEJHEJ

elloworld

//我會喜歡它是:

HEJHEJ

所以最後,我希望它改變/替換爲包含「消息」的整行文本

相關問題