IOUtils.copyBytes()方法具有什么功能呢?
下文笔者讲述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
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。