我有一个TextReader
对象。
现在,我想将TextReader
的整个内容流式传输到文件。我无法使用ReadToEnd()
并一次性写入文件,因为内容可能很大。
有人可以给我一个示例/提示如何在Blocks中执行此操作吗?
答案 0 :(得分:4)
using (var textReader = File.OpenText("input.txt"))
using (var writer = File.CreateText("output.txt"))
{
do
{
string line = textReader.ReadLine();
writer.WriteLine(line);
} while (!textReader.EndOfStream);
}
答案 1 :(得分:1)
像这样的东西。循环读取器,直到它返回null
并完成您的工作。完成后,关闭它。
String line;
try
{
line = txtrdr.ReadLine(); //call ReadLine on reader to read each line
while (line != null) //loop through the reader and do the write
{
Console.WriteLine(line);
line = txtrdr.ReadLine();
}
}
catch(Exception e)
{
// Do whatever needed
}
finally
{
if(txtrdr != null)
txtrdr.Close(); //close once done
}
答案 2 :(得分:0)
// assuming stream is your TextReader
using (stream)
using (StreamWriter sw = File.CreateText(@"FileLocation"))
{
while (!stream.EndOfStream)
{
var line = stream.ReadLine();
sw.WriteLine(line);
}
}