java中transferto,Java 9新增的有趣方法InputStream.transferTo()

java中transferto,Java 9新增的有趣方法InputStream.transferTo()Java9新增的有趣方法InputStream.transferTo()2018.2.1版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。JDK9新增了一个有趣的方法,InputStream.transferTo(OutputStream)方法,此方法允许从对象调用方法表示的输入流中轻松传输(复制)字节到提供给该方法的输出流。正如方法的Javadoc注释所述,从该输入流中读取所有…

大家好,欢迎来到IT知识分享网。java中transferto,Java 9新增的有趣方法InputStream.transferTo()

Java 9新增的有趣方法InputStream.transferTo()

2018.2.1

版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。

JDK 9新增了一个有趣的方法,InputStream.transferTo(OutputStream)方法,此方法允许从对象调用方法表示的输入流中轻松传输(复制)字节到提供给该方法的输出流。正如方法的Javadoc注释所述,从该输入流中读取所有字节,并按照读取的顺序将字节写入给定的输出流。此方法可以使Java的有些例行任务变得更容易。

在使用此方法时要注意:

此方法不关闭任何流

强烈建议,如果发生I/O错误,那么输入输出两个流都应该立即关闭。

通常是在try-with-resources语句中实例化源InputStream和目标OutputStream对象。如下面的代码所示:

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

public class StreamsTransfer {

public static void main(String[] args) {

if(args.length < 1) {

System.out.println(“USAGE StreamsTransfer “);

System.exit(-1);

}

final String fileName = args[0];

try(final InputStream is = new FileInputStream(fileName);

final OutputStream os = new FileOutputStream(fileName + “.copy”)) {

is.transferTo(os);

} catch(IOException e) {

System.out.println(“Exception encountered: ” + e);

}

}

}

通过try-with-resources语句可以确保两个资源的正确回收。上面的代码很简单,实际的应用场景就非常多了,比如可以把InputStream替换成URL.openStream()等等。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/21678.html

(0)
上一篇 2024-01-16 18:15
下一篇 2024-01-16 19:00

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信