以前写过url读取网络资源的,但是都是以字符串显示,这次以文件方式展示一下,只需要传入一个网络图片测试一下就行
/**
* 读取网络资源并写入本地文件
* @param urlString 远程文件名
* @return
*/
public File getFileByUrl(String urlString){
String fileName = urlString.substring(urlString.lastIndexOf("/"));
File file = new File(fileName);
try {
file.createNewFile();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
URL url = null;//远程地址
InputStream in = null;//输入流
OutputStream out = null;//输出流
try {
url = new URL(urlString);
in = url.openStream();
out = new FileOutputStream(file);//文件输出流 用于写文件
byte[] bs = new byte[1024];//接收读入的数据
int bCount = 0;
//读取远程文件流并写入本地文件
while((bCount = in.read(bs)) != -1) {
out.write(bs, 0, bCount);
}
out.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
//关闭流
try {
if(in != null)
in.close();
if(out != null)
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return file;
}