/** * 自动得到相对文件的路径 * @param fileSrc 源css出现的文件(/abc/def/h1.css) * @param srcFileString css文件中的相对路径[./a.jpg][../../c.jpg] * @return String */ public static String autoResetPath(final String filePath,final String srcFileString){ if(srcFileString.toLowerCase().indexOf("http")>-1){ return srcFileString; } if(srcFileString.trim().indexOf("/")==0){ return srcFileString; } String[]fileStrings=filePath.split("\\/"); int p=fileStrings.length,j=0; StringBuilder text=new StringBuilder(); String[]dirs=srcFileString.split("\\/"); for(j=0;dirs!=null&&j<dirs.length;j++){ if(dirs[j].equals("..")){ p--; if(p>-1){ dirs[j]=null; } }else if(dirs[j].equals(".")){ if(p>-1){ dirs[j]=null; } } } for(j=0,p--;j<p;j++){ if(fileStrings[j].trim().length()<1){ continue; } text.append("/").append(fileStrings[j]); } for(j=0;dirs!=null&&j<dirs.length;j++){ if(dirs[j]==null||dirs[j].equals("")){ continue; } text.append("/").append(dirs[j]); } return text.toString(); } public static void main(String[]args){ String path1="http://admin/login.jsp",path2="./css/image.jpg"; System.out.println("图片地址网络绝对路径:"+autoResetPath(path1,path2));
}