获取文本内容图片链接地址,并将图片保存到本地
public static String saveContentFile( String contentInfo )
{
InputStream fis = null;
FileOutputStream fos = null;
String oldFileUrl = null;//原文件名称
String newFileUrl = null;//新的文件名称
String filePath = "E:/image/";//将文件保存的系统路径
URL url=null;
HttpURLConnection urlconn=null;
File file = null;
int data=0;
int random = 0;
try
{
file = new File( filePath );
if ( !file.exists() )file.mkdirs();
String urlRegex = "http://[^\":<>]*\\.(jpg|bmp|gif|ico|pcx|jpeg|tif|png|raw|tga|js|htm)";// 读取图片url的正则表达式
Pattern pattern = Pattern.compile( urlRegex, Pattern.CASE_INSENSITIVE );// 匹配表达式,忽略大小写
Matcher matcher = pattern.matcher( contentInfo );
// 对匹配的集合进行循环处理,将文件保存到本地
while ( matcher.find() )
{
oldFileUrl = matcher.group();
// 获取文件信息
url = new URL( oldFileUrl );
urlconn=(HttpURLConnection)url.openConnection();
urlconn.setConnectTimeout( 2000 );
if(urlconn.getResponseCode()!=urlconn.HTTP_OK)continue;
fis = urlconn.getInputStream();
// 将文件写入到指定的盘
newFileUrl = filePath + System.currentTimeMillis() + random
+ oldFileUrl.substring( oldFileUrl.lastIndexOf( "." ) );// 构建新的文件名称
fos = new FileOutputStream( newFileUrl );
data=fis.read();
while(data!=-1){
fos.write( data );
data=fis.read();
}
contentInfo = contentInfo.replace( oldFileUrl, newFileUrl );// 将原来的路径替换为现在的新的路径
random++;
}
} catch ( Exception e ){
e.printStackTrace();
} finally{
try{
if ( null != fis )
fis.close();
if ( null != fos )
fos.close();
} catch ( IOException e ){
e.printStackTrace();
}
}
return contentInfo;
}