cla*_*chu 6 c# copy streamwriter streamreader
我需要使用StreamReader读取控制台应用程序上的.txt文件,然后创建一个具有不同名称但内容相同的新文件或备份.问题是我无法弄清楚如何使用第一个文件中的内容放入新文件中.(这是针对学校的事情而且是C#的新手)
using System;
using System.IO;
namespace UserListCopier
{
class Program
{
static void Main()
{
string fineName = "zombieList.txt";
StreamReader reader = new StreamReader(fineName);
int lineNumber = 0;
string line = reader.ReadLine();
while (line != null) {
lineNumber++;
Console.WriteLine("Line {0}: {1}", lineNumber, line);
line = reader.ReadLine();
}
StreamWriter writetext = new StreamWriter("zombieListBackup.txt");
writetext.Close();
System.Console.Read();
reader.Close();
}
}
}
Run Code Online (Sandbox Code Playgroud)
让我们考虑你已经打开了两个流,类似@ jeff的解决方案,但不是ReadToEnd(没有真正有效地蒸汽),你可以缓冲传输.
_bufferSize是一个int,它设置为适合你的缓冲区大小(1024,4096无论如何)
private void CopyStream(Stream src, Stream dest)
{
var buffer = new byte[_bufferSize];
int len;
while ((len = src.Read(buffer, 0, buffer.Length)) > 0)
{
dest.Write(buffer, 0, len);
}
}
Run Code Online (Sandbox Code Playgroud)
这是一个要点,包含一个计算转移速度的类 https://gist.github.com/dbones/9298655#file-streamcopy-cs-L36
小智 5
这将做到这一点:
using System;
using System.IO;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
using (var reader = new StreamReader(@"C:\MyOriginalFile.txt"))
using (var writer = new StreamWriter(@"C:\MyNewFile.txt", append: false))
{
writer.Write(reader.ReadToEnd());
}
Console.Read();
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18984 次 |
| 最近记录: |