Java图片处理 - 复制

Java处理图片的时候,可以用原生接口,可以直接以第三方接口方式复制图片

以文件复制

    public static void copyByStream(File source,File target) throws Exception {int length = 1024;FileInputStream in = new FileInputStream(source);FileOutputStream out = new FileOutputStream(target);byte[] buffer = new byte[length];while (true) {int ins = in.read(buffer);if (ins == -1) {in.close();out.flush();out.close();} else {out.write(buffer, 0, ins);}}}

以图片流复制

public static void copyByImageIO(String sourcePath,String targetPath) throws Exception {try {File input = new File(sourcePath);BufferedImage bim = ImageIO.read(input);File output = new File(targetPath);ImageIO.write(bim, "jpg", output);} catch (IOException e) {log.error(e.getMessage(), e);}}

使用第三方库复制

这里使用的第三方库是ImageMagick,GraphicsMagick中的convert命令,所以需安装ImageMagick或者GraphicsMagick,如何安装请移步Java图片处理 - 安装ImageMagick库使用convert命令

而且项目中还需要导入maven配置

<dependency><groupId>org.im4java</groupId><artifactId>im4java</artifactId><version>1.4.0</version>
</dependency>
/*** 拷贝图片 - 同步* @param source* @param target* @return* @throws Exception*/
public static boolean copyImage(String source, String target) throws Exception {createDirectory(target);IMOperation op = new IMOperation();op.addImage(source);op.addImage(target);ConvertCmd cmd = (ConvertCmd) getImageCommand("convert");cmd.setAsyncMode(false);cmd.run(op);return true;
}
/*** 拷贝图片 - 异步* @param source* @param target* @return* @throws Exception*/
public static void copyImageAsyncMode(String source, String target) throws Exception {createDirectory(target);IMOperation op = new IMOperation();op.addImage(source);op.addImage(target);ConvertCmd cmd = (ConvertCmd) getImageCommand("convert");cmd.setAsyncMode(true);cmd.run(op);
}/*** 创建目录* @param path*/
private static void createDirectory(String path) {File file = new File(path);if (file.exists()){return;}file.getParentFile().mkdirs();
}

大家还可以参考我专栏中的其他文章:
(1)Java图片处理 - 安装ImageMagick库使用convert命令
(2)Java图片处理 - 创建工具类
(3)Java图片处理 - 复制
(4)Java图片处理 - 缩放图片
(5)Java图片处理 - gif图获取一帧图片

Java图片处理 - 复制相关推荐

  1. Java图片处理 - 创建工具类

    Java图片处理 - 创建工具类 Java原生代码实现工具类 Java原生代码实现使用jdk内部的GIFImageReader.GIFImageWriter等类,maven在编译的时候会提示这是sun ...

  2. Java图片处理 - 缩放图片

    Java图片处理 - 缩放图片 Java原生代码实现缩放图片 上一章原生代码中执行测试代码: public static void main(String[] args) {/*这儿填写你存放要缩小图 ...

  3. java图片的导出,并压缩

    java图片的导出,并压缩 java 压缩包jar包使用的是commons-compress-1.6.jar /*** 导出图片* @param request* @param response*/@ ...

  4. java图片拷贝_java图片拷贝

    请选择上传的图片或文件: 可以看到,我们将...之后,我们就来编写这个 servlet--UpLoad.java 复制代码 代码如下: package load; import java.io.Fil ...

  5. java 图片image工具类,ImageUtil.java

    1.java 图片image工具类,ImageUtil.java package com.broadway.numpeople.utils;import java.awt.Color; import ...

  6. Java 图片转换为字符图 CharMaps (整理)

    /** Java 图片转换成字符图 CharMaps (整理) * * 2016-1-2 深圳 南山平山村 曾剑锋 ** @(#)CharMaps.java 2014/1/16 * 1.这个一个Jav ...

  7. java 图片处理框架_使用图片框处理图片。

    java 图片处理框架 将两个图片框添加到窗体. 将两个图片框的ScaleMode属性设置为3像素. 一般声明 -------------------------------- Const ubx = ...

  8. java 图片 base64_java实现图片转base64字符串 java实现base64字符串转图片

    java 图片转base64字符串.base64字符串转图片,具体内容如下 1. 图片转base64字符串: /** * base64编码字符串转换为图片 * @param imgStr base64 ...

  9. java直接调用复制文件,java中文件复制的4种方式,java文件的复制

    java中文件复制的4种方式,java文件的复制 今天一个同事问我文件复制的问题,他一个100M的文件复制的指定目录下竟然成了1G多,吓我一跳,后来看了他的代码发现是自己通过字节流复制的,定义的字节数 ...

最新文章

  1. Gumble Distribution耿贝尔分布
  2. boost::iostreams::grep_filter用法的测试程序
  3. Organization Unit buffer - OOATTRCUST
  4. QQ技术攻略-原来隐藏着这么多秘密(上)
  5. linux那些事之中断与异常(AMD64架构)_2
  6. JQ js选择节点操作
  7. python递归函数的使用方法_让你Python到很爽的加速递归函数的装饰器
  8. MySQL自定义函数的使用
  9. Deformable-DETR的学习笔记
  10. 如何用Python快速实现区块链?
  11. mongodb 远程连接
  12. Count-Min Sketch 算法
  13. zabbix监控memcached
  14. 浙大PAT乙级练习1001
  15. Kindle 文言文 古汉语 字典
  16. 英语情景对话计算机专业,工作有关情景对话英语
  17. W/View: requestLayout() improperly called by 布局GridView,一直疯狂刷新日志,导致item条目点击无效
  18. win10蓝屏提示重新启动_神器 | 那些好用到爆的win10修复优化软件,一键解决你的麻烦(一)...
  19. 拼多多API根据ID获取商品详情
  20. python实现输入一个正整数_Python中实现输入一个整数的案例

热门文章

  1. 如何将数据进行数据可视化展现?
  2. Pycharm使用tkinter
  3. git登陆用户的配置
  4. php两个手机号正则表达式_最新手机号码正则表达式(php版)
  5. LINUX杀掉指定进程 脚本 守护进程
  6. libpng库的使用讲解
  7. 第4章 软件的设计——总体设计与详细设计
  8. 8除以2表示什么意思_数字含义大全
  9. linux卸载字体库,在Ubuntu中删除不必要的字体并安装MS核心字体 | MOS86
  10. hadoop(五)-hdfs命令行基本命令