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的解决 图像处理相关推荐

  1. Java读取txt文件、excel文件的方法

    Java读取txt文件.excel文件的方法 1.读取txt文件 public static String getFileContent(String filePath,String charset) ...

  2. Java基础学习总结(15)——java读取properties文件总结

    2019独角兽企业重金招聘Python工程师标准>>> 一.java读取properties文件总结 在java项目中,操作properties文件是经常要做的,因为很多的配置信息都 ...

  3. java读取本地文件_java 读取本地文件实例详解

    java 读取本地文件实例详解 用javax.xml.w3c解析 实例代码: package cn.com.xinli.monitor.utils; import org.w3c.dom.Docume ...

  4. 用java读取properties文件--转

    今天为了通过java读取properties文件,google了很长时间,终于找到了.现在特记录之和大家一起分享.      下面直接贴出代码:java类 public class Mytest pu ...

  5. [java进阶]1.Java读取txt文件和写入txt文件

    1. Java读取txt文件 import java.io.*; import java.util.ArrayList; import java.util.List;public class unit ...

  6. java读取TXT文件的方法

    java读取txt文件内容.可以作如下理解: 首先获得一个文件句柄.File file = new File(); file即为文件句柄.两人之间连通电话网络了.接下来可以开始打电话了. 通过这条线路 ...

  7. JNI开发笔记(八)--Java读取txt文件进行JNI测试

    Java读取txt文件进行JNI测试 引 前言 1. 新建assets文件夹 2. 载入测试文件 3. 建立文件读取方法 4. 在MainActivity中读取文件数据 引 JNI开发笔记(一)–An ...

  8. java inireader_用Java读取INI文件(带section的)

    代码 #include #include int main(){ boost::property_tree::ptree m_pt, tag_setting; read_ini("confi ...

  9. java 创建ppt文件怎么打开文件,JAVA读取PPT文件

    JAVA读取PPT文件 import java.io.InputStream; import org.apache.lucene.document.Document; import org.apach ...

  10. java 读取本地文件_java 读取本地文件实例详解

    java 读取本地文件实例详解 用javax.xml.w3c解析 实例代码: package cn.com.xinli.monitor.utils; import org.w3c.dom.Docume ...

最新文章

  1. JavaScript Document
  2. Linux串口读取与解析
  3. JPA-CascadeType四个属性的讲解
  4. 直接插入排序比较次数_插入排序(C++)
  5. Hibernate - DetachedCriteria 的完整用法
  6. java ftp 连接超时时间_ftpClient的连接超时设置(setConnectTimeout,setSoTimeout) | 学步园...
  7. 15个最受欢迎的Python开源框架
  8. 数值分析-拉格朗日中值定理与积分中值定理
  9. 一部分 数据 迁移_超原版速度110倍,针对PyTorch的CPU到GPU张量迁移工具开源
  10. mysql 刷新二进制日志_mysql binglog 二进制日志文件
  11. 【Win 10应用开发】Adaptive磁贴模板的XML文档结构
  12. HTML fieldset 标签
  13. 别被IBM抛出的“认知商业”搞晕 这里为你详解
  14. C# Access数据库使用
  15. 【解决】联想拯救者/MT7921网卡 ubuntu里 wifi/蓝牙 无法识别连接
  16. 理财U15 累积投票与可赎债估值 习题解读
  17. 【汇智学堂】基于Socket+面向对象实现的网络聊天
  18. android可看电视吗,不要VIP也能看电影,安卓手机这4款APP太赞了!
  19. Github无法访问解决方法
  20. 二叉树前序,中序求后续;中序,后续求前序

热门文章

  1. wiki.openwrt.org无法打开的解决办法
  2. centos安装libconfig
  3. wow.js中各种特效对应的类名
  4. Android典型界面设计——ViewPage+Fragment实现区域顶部tab滑动切换
  5. 装饰者模式 (decorator pattern)
  6. 《微软:DirectShow开发指南》第三章 Programming DirectShow Applications
  7. Symfony2Book16:Symfony2内部03-事件调度
  8. CF1169(div2)题解报告
  9. day-60Django
  10. Vue.js如何搭建本地dev server