IO流复制图片
发布日期:2022-02-26 00:17:42
浏览次数:8
分类:技术文章
本文共 2228 字,大约阅读时间需要 7 分钟。
package cn.itcast_01; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; /* * 复制图片 * * 分析: * 复制数据,如果我们知道用记事本打开并能够读懂,就用字符流,否则用字节流。 * 通过该原理,我们知道我们应该采用字节流。 * 而字节流有4种方式,所以做这个题目我们有4种方式。推荐掌握第4种。 * * 数据源: * c:\\a.jpg -- FileInputStream -- BufferedInputStream * 目的地: * d:\\b.jpg -- FileOutputStream -- BufferedOutputStream */ public class CopyImageDemo { public static void main(String[] args) throws IOException { // 使用字符串作为路径 // String srcString = "c:\\a.jpg"; // String destString = "d:\\b.jpg"; // 使用File对象做为参数 File srcFile = new File("c:\\a.jpg"); File destFile = new File("d:\\b.jpg"); // method1(srcFile, destFile); // method2(srcFile, destFile); // method3(srcFile, destFile); method4(srcFile, destFile); } // 字节缓冲流一次读写一个字节数组 private static void method4(File srcFile, File destFile) throws IOException { BufferedInputStream bis = new BufferedInputStream(new FileInputStream( srcFile)); BufferedOutputStream bos = new BufferedOutputStream( new FileOutputStream(destFile)); byte[] bys = new byte[1024]; int len = 0; while ((len = bis.read(bys)) != -1) { bos.write(bys, 0, len); } bos.close(); bis.close(); } // 字节缓冲流一次读写一个字节 private static void method3(File srcFile, File destFile) throws IOException { BufferedInputStream bis = new BufferedInputStream(new FileInputStream( srcFile)); BufferedOutputStream bos = new BufferedOutputStream( new FileOutputStream(destFile)); int by = 0; while ((by = bis.read()) != -1) { bos.write(by); } bos.close(); bis.close(); } // 基本字节流一次读写一个字节数组 private static void method2(File srcFile, File destFile) throws IOException { FileInputStream fis = new FileInputStream(srcFile); FileOutputStream fos = new FileOutputStream(destFile); byte[] bys = new byte[1024]; int len = 0; while ((len = fis.read(bys)) != -1) { fos.write(bys, 0, len); } fos.close(); fis.close(); } // 基本字节流一次读写一个字节 private static void method1(File srcFile, File destFile) throws IOException { FileInputStream fis = new FileInputStream(srcFile); FileOutputStream fos = new FileOutputStream(destFile); int by = 0; while ((by = fis.read()) != -1) { fos.write(by); } fos.close(); fis.close(); } }转载地址:https://blog.csdn.net/tmacyaonb1/article/details/51895237 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年03月06日 11时58分28秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Android网络期末考,Android 面试之「网络基础篇」
2019-04-21
html如何修改按钮样式,css怎么设置按钮样式?
2019-04-21
点击定位到指定位置_使用Word书签功能轻松定位到指定位置或某个特定内容
2019-04-21
图像控制点 形变_几何校正中控制点的选取.doc
2019-04-21
cpu超线程优缺点_今天看了下百度百科!看到了超线程的优缺点啊!转!
2019-04-21
java servlet 返回 web_javaWEB之Servlet
2019-04-21
php 打印出心形,利用php输出不同的心形图案_PHP
2019-04-21
oracle 时间戳样式,oracle日期时间型timestamp的深入理解
2019-04-21
linux命令column,Linux column命令详解(每日一令之二十一)
2019-04-21
centos linux7 开启桌面命令,centos7如何在桌面打开终端
2019-04-21
linux ha 磁盘心跳,HACMP 5.4配置磁盘心跳(转载)
2019-04-21
C语言编程绘制一元二次函数,c语言怎么画出一元二次函数图像
2019-04-21
使用c 脚本语言制作菜单,VC动态生成菜单项的实现方法
2019-04-21
Android输入法方法,Android的输入法系统框架原理
2019-04-21