为了账号安全,请及时绑定邮箱和手机立即绑定

将Java InputStream的内容写入OutputStream的简单方法

将Java InputStream的内容写入OutputStream的简单方法

红糖糍粑 2019-06-20 16:58:53
将Java InputStream的内容写入OutputStream的简单方法今天我惊讶地发现,我无法找到任何简单的方法来编写InputStream转到OutputStream在爪哇。显然,字节缓冲区代码编写起来并不困难,但我想我只是缺少了一些可以让我的生活变得更简单(而且代码更清晰)的东西。所以,考虑到InputStream in和一个OutputStream out,是否有更简单的方法来编写以下内容?byte[] buffer = new byte[1024];int len = in.read(buffer);while (len != -1) {     out.write(buffer, 0, len);     len = in.read(buffer);}
查看完整描述

3 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

如果您使用的是Java 7,档案(在标准库中)是最好的方法:

/* You can get Path from file also: file.toPath() */Files.copy(InputStream in, Path target)Files.copy(Path source, OutputStream out)

编辑:当然,当您从文件中创建InputStream或OutputStream时,它非常有用。使用file.toPath()从文件中获取路径。

写入现有文件(例如用File.createTempFile()),您需要通过REPLACE_EXISTING复制选项(否则)FileAlreadyExistsException被抛出):

Files.copy(in, target, StandardCopyOption.REPLACE_EXISTING)


查看完整回答
反对 回复 2019-06-20
  • 3 回答
  • 0 关注
  • 6921 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信