
jar包准备 jai-codec和jai-core
主要过程
private boolean parseTifFile(FileItem item) {
		  logger.info("-------parseTifFile---start----");
		  try {
			      InputStream ins = item.getInputStream();
			      ImageDecodeParam imageDecodeParam = new TIFFDecodeParam();
			      JPEGEncodeParam param1 = new JPEGEncodeParam();
			      ImageDecoder imageDecoder = ImageCodec.createImageDecoder("tiff", ins, imageDecodeParam);
			      int size = imageDecoder.getNumPages();//tif页数
			      String ApplicationPath = SysVar.getVar("ApplicationPath");//ui所在目录/data/app/Claim-YS2/ui/
	    	      String des = SysVar.getVar("TiffAndJPG");//scanningCopy/folder/
	    	      String name = item.getName();//投保意向书-李帅.tif
	    	      name = name.substring(0,name.lastIndexOf(".tif"));//投保意向书-李帅
      //	    	deleteAllFiles(file);//删除image目录以删除原来可能存在的图片
			      for(int i = 0; i < size; i++){
				        RenderedImage renderedImage = imageDecoder.decodeAsRenderedImage(i);//单个图片
	                    ParameterBlock arg = new ParameterBlock();
	    		        String despath = ApplicationPath + des + "jpg/" + this.mBatchNo + "/" + i + ".jpg";
	                    File file = new File(despath);
	                    if (!file.exists()) {
	            	          file.getParentFile().mkdirs();
	            	          file.createNewFile();//如果不存在,新建空图片
	                    }
	                    arg.addSource(renderedImage);
	                    arg.add(file.toString());
	                    arg.add("JPEG");
	                    arg.add(param1);
	                    RenderedOp r = JAI.create("filestore", arg);
	                    r.dispose();
	            
	                    //保存于数据库中,这里属于lis框架的内容
	                    T_SAVE_FILESchema tSaveFile = new T_SAVE_FILESchema();
		                tSaveFile.setBatchNo(this.mBatchNo);
		                tSaveFile.setName(name + "_" + i + ".jpg");//xxx_0.jpg
		                tSaveFile.setUrl(despath);
		                tSaveFile.setFileType("JPEG");
		                tSaveFile.setMakeDate(PubFun.getCurrentDate());
		                tSaveFile.setMakeTime(PubFun.getCurrentTime());
		                this.tMap.put(tSaveFile, "DELETE&INSERT");
			      }
		    } catch (Exception ex) {
			      ex.printStackTrace();
			      this.tCErrors.addOneError(ex.getMessage());
			      return false;
		  }
	      logger.info("-------parseTifFile----end----");
		  return true;
	}
循环删除某个文件夹下的所有文件
public static void deleteAllFiles(File file){
           if(file == null || !file.exists())
               return ;
           if(file.isDirectory()){
                 File[] files = file.listFiles();
                 if(files != null){
                       for(File f : files)
                           deleteAllFiles(f);
                 }
           }
           file.delete();
     }
