IOUtils.copyBytes()方法具有什么功能呢?

戚薇 Java教程 发布时间:2023-05-16 09:14:24 阅读数:6995 1
下文笔者讲述IOUtils.copyBytes()方法的功能及示例分享,如下所示

IOUtils.copyBytes()方法的功能

IOUtils.copyBytes()方法的功能:
    将指定数据源复制到目的地 


IOUtils.copyBytes(in,out,4096,false)
 参数说明:
    in:是FSDataInputStream类的对象,是有关读取文件的类,也就是所谓“输入流”
    out:是FSDataOutputStream类的对象,是有关文件写入的类,也就是“输出流”
    4096表示用来拷贝的buffer大小(buffer是缓冲区)--缓冲区大小
    true - 是否关闭数据流,如果是false,就在finally里关掉

IOUtils.copyBytes方法示例

 
import java.io.BufferedInputStream;
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
public class IOUtilsDemo {
public static void main(String[] args)throwsIOException {
    BufferedInputStream is =newBufferedInputStream(System.in);
    FileSystem fs = FileSystem.get(newConfiguration());
    Path outputPath =newPath("[hdfs://xxyy:9000](hdfs://xxyy:9000)"+ args[0]);
    FSDataOutputStream os = fs.create(outputPath);
	// 参数说明
	// is - 输入源
	// os - 输出源
	// 4096 - 缓冲区大小
	// true - 是否关闭数据流,如果是false,就在finally里关掉
	//        IOUtils.closeStream(is);
	//        IOUtils.closeStream(os);
   
    IOUtils.copyBytes(is, os,4096,true);
    System.out.println("Created file "+ outputPath +" of length "+
    fs.getFileStatus(outputPath).getLen() +" bytes.");
   }// END: main
}// END: IOUtilsDemo
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaCourse/202305/6458.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者