Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将一个流的内容复制到另一个?

如何将一个流的内容复制到另一个?

提问于 2017-12-14 06:25:26
回答 2关注 0查看 187

将一个流的内容复制到另一个流的最佳方式是什么?有没有一个标准的实用工具方法呢?

回答 2

不知雨

发布于 2017-12-14 06:35:17

MemoryStream有.WriteTo(outstream);

而.NET 4.0在正常流对象上有.CopyTo。

.NET 4.0:

instream.CopyTo(outstream);

Dust

发布于 2017-12-14 06:34:45

从.NET 4.5开始,就有了这个Stream.CopyToAsync方法

代码语言:txt
AI代码解释
复制
input.CopyToAsync(output);

这将返回一个Task可以继续完成时,如下所示:

代码语言:txt
AI代码解释
复制
await input.CopyToAsync(output)
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
// Code from here on will be run in a continuation.

请注意,根据调用的CopyToAsync位置,下面的代码可能会或可能不会在调用它的同一个线程上继续。

在SynchronizationContext调用时被抓获await将决定线程的延续将被执行的。

此外,这个调用(这是一个实现细节可能会改变)仍然顺序读写(它只是不浪费一个线程阻塞I / O完成)。

从.NET 4.0开始,就有了这个Stream.CopyTo方法

代码语言:txt
AI代码解释
复制
input.CopyTo(output);

对于.NET 3.5和之前

这个框架没有任何东西可以帮助解决这个问题。您必须手动复制内容,如下所示:

代码语言:txt
复制
代码语言:txt
AI代码解释
复制
public static void CopyStream(Stream input, Stream output)
代码语言:txt
AI代码解释
复制
{
代码语言:txt
AI代码解释
复制
    byte[] buffer = new byte[32768];
代码语言:txt
AI代码解释
复制
    int read;
代码语言:txt
AI代码解释
复制
    while ((read = input.Read(buffer, 0, buffer.Length)) > 0)
代码语言:txt
AI代码解释
复制
    {
代码语言:txt
AI代码解释
复制
        output.Write (buffer, 0, read);
代码语言:txt
AI代码解释
复制
    }
代码语言:txt
AI代码解释
复制
}
和开发者交流更多问题细节吧,去 写回答
相关文章
javaSE之如何将一个文件复制到另一个文件
1 /* 2 * (1). 文件字符输入,输出流 3 * 文件字节输入,输出流的read和write方法使用 4 * 字节数组读写数据,即以字节为单位处理数据,因此,字节流不能很好的操作Unicode字符 5 * ,比如,一个汉字在文件中占用2个字节,如果使用字节流,读取不当会出现“乱码”现象 6 * (2).字符输入流和输出流的read和write方法 7 * 使用字符数组读写数据,即以字符为基本单位处理数据 8 * 9
Gxjun
2018/03/22
2K0
golang把文件复制到另一个目录
//本程序 主要功能是把A文件夹下的文件与B目录下文件对比,如果找到就覆盖到B相应的目录下。 // 用法: merge A目录 B目录 // merge.go package main import ( "flag" "fmt" "os" "path/filepath" "strings" "time" "github.com/Unknwon/com" ) const ( IsDirectory =
李海彬
2018/03/27
1.3K0
golang把文件复制到另一个目录
//本程序 主要功能是把A文件夹下的文件与B目录下文件对比,如果找到就覆盖到B相应的目录下。 // 用法: merge A目录 B目录 // merge.go package main import ( "flag" "fmt" "os" "path/filepath" "strings" "time" "github.com/Unknwon/com" ) const ( IsDirectory =
李海彬
2018/03/27
2.2K0
将一个CentOS环境复制到另一个CentOS
「这是我参与2022首次更文挑战的第23天,活动详情查看:2022首次更文挑战」。
Java廖志伟
2022/03/07
6550
将一个CentOS环境复制到另一个CentOS
将一个CentOS环境复制到另一个CentOS
将一个CentOS环境复制到另一个CentOs,实现环境迁移或备份的功能 将CentOS2复制一份新的CentOS3出来,步骤如下: 创建新的CentOS3 这里的名称改吃CentOS3,后面的文件改名就是对应的这个名称 ISO映像文件路径修改,每个CentOS单独用一个ISO映像文件 直接启动 修改网络ip cd /etc/sysconfig/network-scripts/ vi ifc
Java廖志伟
2022/09/29
1.7K0
将一个CentOS环境复制到另一个CentOS
java 把文件从一个目录复制到另一个目录
方法一:简单粗暴,直接使用copy(),如果目标存在,先使用delete()删除,再复制;
崔笑颜
2020/06/08
2.1K0
Linux将一个文件夹或文件夹下的所有内容复制到另一个文件夹
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/124758.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/21
6.5K0
Linux将一个文件夹或文件夹下的所有内容复制到另一个文件夹
linux将一个文件夹的内容复制到另一个文件夹_linux复制文件夹命令
copy命令的功能是将给出的文件或目录拷贝到另一文件或目录中,同MSDOS下的copy命令一样,功能十分强大。
全栈程序员站长
2022/09/23
10.6K0
linux将一个文件夹的内容复制到另一个文件夹_linux复制文件夹命令
MySQL/Oracle怎么把一个表的数据复制到另一个表
创建新表复制原有表的结构和数据 create table new_table as select * from old_table; 复制一张表的数据到另一张表(表结构相同) INSERT into table1 select * from table2; 复制一张表的数据到另一张表(表结构相同) INSERT into table1(表中字段1,表中字段2) select 表中字段1,表中字段2 from table2;
共饮一杯无
2022/11/28
1.6K0
Hexo中引入另一个文件内容
程序员朱永胜
2023/09/15
1840
HDFS——如何将文件复制到HDFS
在Hadoop中用作文件操作的主类位于org.apache.hadoop.fs包中。基本的文件操作有open、read、write和close。实际上,Hadoop的文件API是通用的,可用于HDFS以外的文件系统。
星哥玩云
2022/06/30
2.3K0
用 Python 批量把文件复制到另一个文件夹
大概是三个月前,有个人找我说要我帮忙写几行代码,功能是把一个文件夹里面的所有文件拆分成 200 个文件一个文件夹,很简单的。
伪君子
2019/08/21
3.2K0
go :复制文件内容到另一个文件
本文实验,从一个文件拷贝文件内容到另外一个文件 代码 package main import ( "fmt" "io" "os" ) func copyFileContents(src, dst string) (err error) { in, err := os.Open(src) if err != nil { return } defer in.Close() out, err := os.Create(dst)
IT工作者
2022/07/22
6280
SQL 把一个表内字段的值复制到另一个表内的特定字段
如果我们想要把一个表内某个字段的值,复制到另一个表内的另一个字段,那么我们怎么做呢? 假如我们想把a表的EmailAddress替换为b表的PasswordHash, 那么我们可以基于BusinessEntityID来识别每一行来进行匹配并更变数值。
繁华是客
2023/03/03
3K0
问与答87: 如何根据列表内容在文件夹中查找图片并复制到另一个文件夹中?
Q:如何实现根据列表内容查找文件夹中的照片,并将照片剪切或复制到另外的文件夹?如下图1所示,在列C中有一系列身份证号。
fanjy
2020/09/25
3.4K0
问与答87: 如何根据列表内容在文件夹中查找图片并复制到另一个文件夹中?
js修改复制到剪贴板的内容
MDN:https://developer.mozilla.org/zh-CN/docs/Web/API/Element/copy_event
阿超
2022/08/21
5.3K0
Android如何将一个项目作为library导入另一个项目
当我第一次被要求用这样的方法将一个项目当做library导入另一个项目时,其实我是拒绝的,因为,你不能让我导,我就马上导,第一我要试一下,因为我不愿意导入完成后再加上一些特技上去,代码“DUANG~~”一下,很智能,很完美,这样程序猿出来一定会骂我,根本没有这样的代码!就证明我导入的library是假的。后来我也经过证实这种导入方法是简单而实用的,我用了大概一个月左右,感觉还不错,后来我在敲代码的时候也要求他们不要加特技,因为我要让程序猿们看到,我导入后是这个样子,你们导入后也是这个样子!
代码咖啡
2018/08/28
8170
Android如何将一个项目作为library导入另一个项目
将一个txt文件,复制到另一个txt文件中(缓冲字节流(BufferedInputStream,BufferedOutputStream))
1.代码 package d04_test;/* * zt * 2020/8/8 * 15:07 *使用缓冲字节流实现复制文件(BufferedInputStream) */ import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; public class Demo1 {
2020/10/23
1.7K0
将一个txt文件,复制到另一个txt文件中(缓冲字节流(BufferedInputStream,BufferedOutputStream))
Java IO流之合并文件到另一个文件
我们这里和上面有所不同,我们需要的是缓冲流的写入,所以我们是使用BufferedWriter对象。
JanYork_简昀
2022/04/15
1K0
Java IO流之合并文件到另一个文件
点击加载更多

相似问题

Python如何将整个Word文档中的格式、段落、图标复制到另一个word文档末尾?

0745

Jquery 瀑布流,怎么对接内容?

1561

求助:如何使用ffmpeg命令将一个视频内容为透明手势的webm格式的视频和另一个背景mp4视频进行混流?

027

C#如何点一个窗口内的按钮,另一个窗口的panel改变内容?

057

如何将所有行复制到剪贴板?

2377
相关问答用户
某公司 | 程序员擅长1个领域
腾讯云TDP | 先锋会员擅长2个领域
擅长5个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档