Atitit java读取tif文件为空null的解决 图像处理
Atitit java读取tif文件为空null的解决 图像处理
Jdk8.。
public static byte[][] toByteArr(String filename) {
if(!new File(filename).exists())
throw new RuntimeException("file not exist:"+filename);
System.out.println(filename);
BufferedImage bimg = null;
try {
bimg = ImageIO.read(new File(filename));
} catch (IOException e) {
ExUtil.throwExV2(e);
}
页不跑出异常
找到问题了,原来图片虽然扩展名是JPG,但是实际格式是TIF,ImageIO不支持TIF。
这里顺便贴出来ImageIO可以读写的图片格式。
用:
Java code?
1 2 |
String[] rf = ImageIO.getReaderFormatNames(); String[] wf = ImageIO.getWriterFormatNames(); |
rf:jpg,rf:BMP,rf:bmp,rf:JPG,rf:jpeg,rf:wbmp,rf:png,rf:JPEG,rf:PNG,rf:WBMP,rf:GIF,rf:gif
wf:BMP,wf:bmp,wf:jpg,wf:JPG,wf:wbmp,wf:jpeg,wf:png,wf:PNG,wf:JPEG,wf:WBMP,wf:GIF,wf:gif
ImageIO应该不会因为图片太大返回NULL,就算图片太大只会抛出内存溢出的错误。
OK,结贴了。
package aa;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import javax.imageio.ImageIO;
import javax.media.jai.JAI;
import javax.media.jai.RenderedOp;
import com.sun.media.jai.codec.ImageCodec;
import com.sun.media.jai.codec.ImageEncoder;
import com.sun.media.jai.codec.JPEGEncodeParam;
public class TifTest {
public String ConvertTif(String tiffile) { // 生成不重复的文件名
String jpgname = tiffile.replace(".tif", ".jpg");
String alternateName = jpgname;
int i = 0;
while (file_exists(alternateName)) {
alternateName = i + jpgname;
i++;
}
// now alternateName would be final file name to be saved. and we should
// return that
try {
RenderedOp src = JAI.create("fileload", tiffile);
OutputStream os = new FileOutputStream(alternateName);
JPEGEncodeParam param2 = new JPEGEncodeParam();
ImageEncoder enc2 = ImageCodec.createImageEncoder("JPEG", os, param2);
enc2.encode(src);
os.close();
} catch (Exception e) {
e.printStackTrace();
}
return alternateName;
}
private boolean file_exists(String alternateName) {
// TODO Auto-generated method stub
return new File(alternateName).exists();
}
public static void main(String[] args) throws IOException {
String f="D:\\0workspace\\atiplat_img\\figerprint\\images\\candidate1.tif";
String jpg=new TifTest().ConvertTif(f);
System.out.println(jpg);
BufferedImage bimg = ImageIO.read(new File(f));
System.out.println(bimg);
你
可能需要 jai_imageio jar。。。 也貌似jdk8包括了这个package
}
}
实用Java_将tif转换成jpg并缩放_kathy_新浪博客.html
作者:: 绰号:老哇的爪子claw of Eagle 偶像破坏者Iconoclast image-smasher
捕鸟王"Bird Catcher kok 虔诚者Pious 宗教信仰捍卫者 Defender Of the Faith. 卡拉卡拉红斗篷 Caracalla red cloak 万兽之王
简称:: Emir Attilax Akbar 埃米尔 阿提拉克斯 阿克巴
全名::Emir Attilax Akbar bin Mahmud bin attila bin Solomon bin adam Al Rapanui 埃米尔 阿提拉克斯 阿克巴 本 马哈茂德 本 阿提拉 本 所罗门 本亚当 阿尔 拉帕努伊
常用名:艾提拉(艾龙), EMAIL:1466519819@qq.com
头衔:uke总部o2o负责人,全球网格化项目创始人,
uke宗教与文化融合事务部部长, uke宗教改革委员会副主席
Emir Uke部落首席大酋长,
uke制度与重大会议委员会委员长,uke保安部首席大队长,uke制度检查委员会副会长,
uke 首席cto 奶牛科技首席cto , 软件部门总监 技术部副总监 研发部门总监主管 产品部副经理 项目部副经理
uke波利尼西亚区大区连锁负责人 汤加王国区域负责人 uke克尔格伦群岛区连锁负责人,莱恩群岛区连锁负责人,uke布维岛和南乔治亚和南桑威奇群岛大区连锁负责人
Uke软件标准化协会理事长理事长 Uke 数据库与存储标准化协会副会长
uke终身教育学校副校长 Uke医院 与医学院方面的创始人
uec学院校长, uecip图像处理机器视觉专业系主任 uke文档检索专业系主任
Uke 户外运动协会理事长 度假村首席大村长 uke交友协会会长
uke出版社编辑总编
转载请注明来源:attilax的专栏 ?http://blog.csdn.net/attilax
--Atiend v6
Atitit java读取tif文件为空null的解决 图像处理相关推荐
- Java读取txt文件、excel文件的方法
Java读取txt文件.excel文件的方法 1.读取txt文件 public static String getFileContent(String filePath,String charset) ...
- Java基础学习总结(15)——java读取properties文件总结
2019独角兽企业重金招聘Python工程师标准>>> 一.java读取properties文件总结 在java项目中,操作properties文件是经常要做的,因为很多的配置信息都 ...
- java读取本地文件_java 读取本地文件实例详解
java 读取本地文件实例详解 用javax.xml.w3c解析 实例代码: package cn.com.xinli.monitor.utils; import org.w3c.dom.Docume ...
- 用java读取properties文件--转
今天为了通过java读取properties文件,google了很长时间,终于找到了.现在特记录之和大家一起分享. 下面直接贴出代码:java类 public class Mytest pu ...
- [java进阶]1.Java读取txt文件和写入txt文件
1. Java读取txt文件 import java.io.*; import java.util.ArrayList; import java.util.List;public class unit ...
- java读取TXT文件的方法
java读取txt文件内容.可以作如下理解: 首先获得一个文件句柄.File file = new File(); file即为文件句柄.两人之间连通电话网络了.接下来可以开始打电话了. 通过这条线路 ...
- JNI开发笔记(八)--Java读取txt文件进行JNI测试
Java读取txt文件进行JNI测试 引 前言 1. 新建assets文件夹 2. 载入测试文件 3. 建立文件读取方法 4. 在MainActivity中读取文件数据 引 JNI开发笔记(一)–An ...
- java inireader_用Java读取INI文件(带section的)
代码 #include #include int main(){ boost::property_tree::ptree m_pt, tag_setting; read_ini("confi ...
- java 创建ppt文件怎么打开文件,JAVA读取PPT文件
JAVA读取PPT文件 import java.io.InputStream; import org.apache.lucene.document.Document; import org.apach ...
- java 读取本地文件_java 读取本地文件实例详解
java 读取本地文件实例详解 用javax.xml.w3c解析 实例代码: package cn.com.xinli.monitor.utils; import org.w3c.dom.Docume ...
最新文章
- JavaScript Document
- Linux串口读取与解析
- JPA-CascadeType四个属性的讲解
- 直接插入排序比较次数_插入排序(C++)
- Hibernate - DetachedCriteria 的完整用法
- java ftp 连接超时时间_ftpClient的连接超时设置(setConnectTimeout,setSoTimeout) | 学步园...
- 15个最受欢迎的Python开源框架
- 数值分析-拉格朗日中值定理与积分中值定理
- 一部分 数据 迁移_超原版速度110倍,针对PyTorch的CPU到GPU张量迁移工具开源
- mysql 刷新二进制日志_mysql binglog 二进制日志文件
- 【Win 10应用开发】Adaptive磁贴模板的XML文档结构
- HTML fieldset 标签
- 别被IBM抛出的“认知商业”搞晕 这里为你详解
- C# Access数据库使用
- 【解决】联想拯救者/MT7921网卡 ubuntu里 wifi/蓝牙 无法识别连接
- 理财U15 累积投票与可赎债估值 习题解读
- 【汇智学堂】基于Socket+面向对象实现的网络聊天
- android可看电视吗,不要VIP也能看电影,安卓手机这4款APP太赞了!
- Github无法访问解决方法
- 二叉树前序,中序求后续;中序,后续求前序
热门文章
- wiki.openwrt.org无法打开的解决办法
- centos安装libconfig
- wow.js中各种特效对应的类名
- Android典型界面设计——ViewPage+Fragment实现区域顶部tab滑动切换
- 装饰者模式 (decorator pattern)
- 《微软:DirectShow开发指南》第三章 Programming DirectShow Applications
- Symfony2Book16:Symfony2内部03-事件调度
- CF1169(div2)题解报告
- day-60Django
- Vue.js如何搭建本地dev server