假设我有一个包含以下内容的文本文件:
您好!
你好吗?
我想通过一个简单的应用程序调用该文件,该应用程序生成一个包含以下内容的输出文件:
buildLetter.Append("Hello!").AppendLine();
buildLetter.Append("How are you?").AppendLine();
如您所见,每一行都应放在“”之间。
任何帮助将不胜感激。
答案 0 :(得分:5)
void ConvertFile(string inPath, string outPath)
{
using (var reader = new StreamReader(inPath))
using (var writer = new StreamWriter (outPath))
{
string line = reader.ReadLine();
while (line != null)
{
writer.WriteLine("buildLetter.Append(\"{0}\").AppendLine();",line.Trim());
line = reader.ReadLine ();
}
}
}
您应该自己添加一些I / O异常处理。
答案 1 :(得分:3)
如果您想将""
附加到每一行,可以尝试合并ReadAllLines和WriteAllLines方法:
File.WriteAllLines(
"output.txt",
File
.ReadAllLines("input.txt")
.Select(line => string.Format("\"{0}\"", line))
.ToArray()
);
请注意,这会将整个文件内容加载到内存中,因此对于非常大的文件无法正常工作。在这种情况下,流阅读器和编写器更适应。
答案 2 :(得分:0)
使用System.IO中的StreamReader类
请参阅此link以获取示例代码
您可能需要做的就是更改行
Console.WriteLine(sr.ReadLine());
到
Console.WriteLine(""""" + sr.ReadLine() + """""); // handwritten code - not tested :-)
答案 3 :(得分:0)
对于小文本文件,这对我有用。
private void EditFile(string path, string oldText, string newText)
{
string content = File.ReadAllText(path);
content = contenido.Replace(oldText, newText);
File.WriteAllText(path, content);
}