package com.fourinone; import java.net.URI; import java.net.URISyntaxException; import java.io.FileNotFoundException; import java.io.File; public class FttpException extends FileException { public FttpException(){ super(); } public FttpException(String msg){ super(msg); } public FttpException(Throwable cause){ super(cause); } public FttpException(String msg, Throwable cause){ super(msg, cause); } static FttpException getNewException(Throwable tw){ return tw instanceof FttpException?(FttpException)tw:new FttpException(); } static FttpException getNewException(Throwable tw, FileAdapter fa){ return (!fa.exists()||!fa.isFile())?new FttpException(new FileNotFoundException()):new FttpException(tw); } static URI getURI(String fttpPath, String filename)throws FttpException{ URI fl = null; try{ fl = new URI(fttpPath); if(!fl.getScheme().toLowerCase().equals("fttp")) throw new FttpException("Illegal protocol character in "+fttpPath); if(filename!=null) fl = getFttpURI(fl, fl.getPath(), filename); }catch(URISyntaxException uie){ throw new FttpException(uie.getMessage()); } return fl; } static URI getFttpURI(URI ui, String filePath, String filename){ /*System.out.println("ui:"+ui); System.out.println("filePath:"+filePath); System.out.println("filename:"+filename); System.out.println("new File(filePath,filename):"+new File(filePath)); System.out.println("new File(filePath,filename):"+(new File(filePath)).toURI().getPath());*/ //return ui.resolve(filePath!=null&&filePath.length()!=0?((filename==null?new File(filePath):new File(filePath,filename)).toURI().getPath()):""); return ui.resolve(filePath!=null&&filePath.length()!=0?(filename==null?filePath:filePath+(filePath.endsWith("\u002F")?"":"\u002F")+filename):"");//(new File(filePath,filename)).toURI().getPath() } }