.net 4.5 中流复制的方法:Stream.CopyToAsync
public Task CopyToAsync(
Stream destination
)
示例:
string StartDirectory = @\"c:\\Users\\exampleuser\\start\";
string EndDirectory = @\"c:\\Users\\exampleuser\\end\";
foreach (string filename in Directory.EnumerateFiles(StartDirectory))
{
using (FileStream SourceStream = File.Open(filename, FileMode.Open))
{
using (FileStream DestinationStream = File.Create(EndDirectory + filename.Substring(filename.LastIndexOf(\'\\\\\'))))
{
await SourceStream.CopyToAsync(DestinationStream);
}
}
}
.net 4.0 中流复制的方法:Stream.CopyTo
MemoryStream destination = new MemoryStream();
using (FileStream source = File.Open(@\"c:\\temp\\data.dat\",FileMode.Open))
{
source.CopyTo(destination);
}
.net 3.5及以下版本 流的复制 需要自己写代码实现
流复制方法一:
public static void CopyStream(Stream input, Stream output) {
byte[] buffer = new byte[32768];
long TempPos = input.Position;
while (true)
{
int read = input.Read (buffer, 0, buffer.Length);
if (read <= 0) break;
output.Write (buffer, 0, read);
}
input.Position = TempPos;// or you make Position = 0 to set it at the start }
流复制方法二:
public static void CopyStream(Stream input, Stream output){
using (StreamReader reader = new StreamReader(input))
using (StreamWriter writer = new StreamWriter(output))
{
writer.Write(reader.ReadToEnd());
}}
继续阅读与本文标签相同的文章
上一篇 :
教机器写代码:增强拓扑进化网络(NEAT)
下一篇 :
智慧的邓布利多
-
数据库基础技术实践#网络安全基础技术实践课程
2026-05-18栏目: 教程
-
MySQL每组求最值的记录与每组前N条记录
2026-05-18栏目: 教程
-
OCP-052考试题库汇总(55)-CUUG内部解答版
2026-05-18栏目: 教程
-
【云栖活动】架构师、产品经理一对一座谈会/WORKSHOP-已截止
2026-05-18栏目: 教程
-
MySQL入门书籍和方法分享
2026-05-18栏目: 教程
