[JAVA]使用字节流拷贝文件
Posted zhengxl5566
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[JAVA]使用字节流拷贝文件相关的知识,希望对你有一定的参考价值。
import java.io.*; /** * @Description: * @projectName:JavaTest * @see:PACKAGE_NAME * @author:郑晓龙 * @createTime:2019/5/3 0:45 * @version:1.0 */ public class CopyWithBytes { public static void main(String[] args) { byte[] bytes = readFileToByteArray("d:/abc.txt"); writeByteArrayToFile(bytes,"d:/23123.txt"); } public static byte[] readFileToByteArray(String src) { // 文件输入流(需要关闭) InputStream is = null; try { is = new FileInputStream(new File(src)); // 字节数组输出流(不需要关闭) ByteArrayOutputStream baos = new ByteArrayOutputStream(); byte[] buf = new byte[1024 * 1]; int len; while ((len = is.read(buf)) != -1) { baos.write(buf, 0, len); } baos.flush(); return baos.toByteArray(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (is != null) { try { is.close(); } catch (IOException e) { e.printStackTrace(); } } } return null; } public static void writeByteArrayToFile(byte[] datas, String destFileName) { // 文件输出流(需要关闭) OutputStream os = null; try { // 字节数组输入流(不需要关闭) InputStream is = new ByteArrayInputStream(datas); os = new FileOutputStream(new File(destFileName)); byte[] buf = new byte[1024]; int len; while (((len = is.read(buf)) != -1)) { os.write(buf, 0, len); } os.flush(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (os != null){ try { os.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
以上是关于[JAVA]使用字节流拷贝文件的主要内容,如果未能解决你的问题,请参考以下文章
Java学习笔记6.1.3 字节流 - 字节流缓冲区与缓冲字节流