2012-11-25 63 views
0

我有一种方法可以从文本文件文件中编辑单词并将其显示在命令提示符中。现在我试图制作一种方法来编辑文本文件中的单词并将其写入新文件。我还想提一下,我不能使用File或Regex类,因为我不允许将它用于我的任务。这里是我的StreamReader的代码:如何使用StreamWriter在C#中编辑文本文件?

public void EditorialControl(string fileName, string word, string replacement) 
{    
    List<string> list = new List<string>(); 
    using (StreamReader reader = new StreamReader(directory + fileName)) 
    { 
     string line; 
     while ((line = reader.ReadLine()) != null) 
     {      
      line = line.Replace(word, replacement); 
      list.Add(line); 
      Console.WriteLine(line); 
     } 
     reader.Close(); 
    }  
} 

这里是我到目前为止的代码为StreamWriter的:

public void EditorialResponse(string fileName, string word, string replacement, string saveFileName) 
{ 
    using (StreamWriter writer = new StreamWriter(directory + saveFileName, true)) 
    { 
     { 
      string input = directory + fileName; 
      string line = input.Replace(word, replacement); 
      writer.Write(line);      
     } 
     writer.Close(); 
    } 
} 

我能加入,使StreamWriter的打开文件,编辑文字,写它到一个新的文件或可能使用StreamReader方法在StreamWriter中进行这些更改?感谢您对StreamWriter

回答

3

这里......

public void EditorialResponse(string fileName, string word, string replacement, string saveFileName) 
{ 
    StreamReader reader = new StreamReader(directory + fileName); 
    string input = reader.ReadToEnd(); 

    using (StreamWriter writer = new StreamWriter(directory + saveFileName, true)) 
    { 
     { 
      string output = input.Replace(word, replacement); 
      writer.Write(output);      
     } 
     writer.Close(); 
    } 
} 
2
public IList<string> GetEditedContent(string fileName, string word, string replacement) 
{    
    List<string> list = new List<string>(); 
    using (StreamReader reader = new StreamReader(directory + fileName)) 
    { 
     string line; 
     while ((line = reader.ReadLine()) != null) 
     {      
      line = line.Replace(word, replacement); 
      list.Add(line); 
      Console.WriteLine(line); 
     } 
     reader.Close(); 
    }  
    return list; 
} 

    // Example how write list to a file. 
using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\Public\TestFolder\WriteLines2.txt")) 
    { 
     foreach (string listItem in list) 
     { 
      file.WriteLine(line); 

     } 
    } 

例子C# Programming Guide

How to: Write to a Text File (C# Programming Guide)

0

你可以有如此简单的代码,它应该编辑“ filename.txt“并追加新的文本。

using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\TestFolder\filename.txt", true)) 
{ 
file.WriteLine("text to edit/append ..."); 
}