Java图片处理 - 复制
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图片处理 - 复制相关推荐
- Java图片处理 - 创建工具类
Java图片处理 - 创建工具类 Java原生代码实现工具类 Java原生代码实现使用jdk内部的GIFImageReader.GIFImageWriter等类,maven在编译的时候会提示这是sun ...
- Java图片处理 - 缩放图片
Java图片处理 - 缩放图片 Java原生代码实现缩放图片 上一章原生代码中执行测试代码: public static void main(String[] args) {/*这儿填写你存放要缩小图 ...
- java图片的导出,并压缩
java图片的导出,并压缩 java 压缩包jar包使用的是commons-compress-1.6.jar /*** 导出图片* @param request* @param response*/@ ...
- java图片拷贝_java图片拷贝
请选择上传的图片或文件: 可以看到,我们将...之后,我们就来编写这个 servlet--UpLoad.java 复制代码 代码如下: package load; import java.io.Fil ...
- java 图片image工具类,ImageUtil.java
1.java 图片image工具类,ImageUtil.java package com.broadway.numpeople.utils;import java.awt.Color; import ...
- Java 图片转换为字符图 CharMaps (整理)
/** Java 图片转换成字符图 CharMaps (整理) * * 2016-1-2 深圳 南山平山村 曾剑锋 ** @(#)CharMaps.java 2014/1/16 * 1.这个一个Jav ...
- java 图片处理框架_使用图片框处理图片。
java 图片处理框架 将两个图片框添加到窗体. 将两个图片框的ScaleMode属性设置为3像素. 一般声明 -------------------------------- Const ubx = ...
- java 图片 base64_java实现图片转base64字符串 java实现base64字符串转图片
java 图片转base64字符串.base64字符串转图片,具体内容如下 1. 图片转base64字符串: /** * base64编码字符串转换为图片 * @param imgStr base64 ...
- java直接调用复制文件,java中文件复制的4种方式,java文件的复制
java中文件复制的4种方式,java文件的复制 今天一个同事问我文件复制的问题,他一个100M的文件复制的指定目录下竟然成了1G多,吓我一跳,后来看了他的代码发现是自己通过字节流复制的,定义的字节数 ...
最新文章
- Gumble Distribution耿贝尔分布
- boost::iostreams::grep_filter用法的测试程序
- Organization Unit buffer - OOATTRCUST
- QQ技术攻略-原来隐藏着这么多秘密(上)
- linux那些事之中断与异常(AMD64架构)_2
- JQ js选择节点操作
- python递归函数的使用方法_让你Python到很爽的加速递归函数的装饰器
- MySQL自定义函数的使用
- Deformable-DETR的学习笔记
- 如何用Python快速实现区块链?
- mongodb 远程连接
- Count-Min Sketch 算法
- zabbix监控memcached
- 浙大PAT乙级练习1001
- Kindle 文言文 古汉语 字典
- 英语情景对话计算机专业,工作有关情景对话英语
- W/View: requestLayout() improperly called by 布局GridView,一直疯狂刷新日志,导致item条目点击无效
- win10蓝屏提示重新启动_神器 | 那些好用到爆的win10修复优化软件,一键解决你的麻烦(一)...
- 拼多多API根据ID获取商品详情
- python实现输入一个正整数_Python中实现输入一个整数的案例