我正在尝试使用HttpResponseCache缓存此文件:http://media.admob.com/sdk-core-v40.js。基本上我调用getFileFromUrl函数两次,这样它第一次从Internet获取资源,第二次从缓存中获取资源。
但是,对于这两种方法,它都会出现此错误:“资源未缓存!java.io.FileNotFoundException:http://media.admob.com/sdk-core-v40.js”。这是否意味着文件没有被缓存而且无法访问它?代码有什么问题?
enableHttpCaching();
getFileFromURL(url);
getFileFromURL(url);
public static void getFileFromURL(String src) {
try {
URL url = new URL(src);
HttpURLConnection connection=(HttpURLConnection)url.openConnection();
connection.setUseCaches(true);
connection.addRequestProperty("Cache-Control", "only-if-cached" );
InputStream input = connection.getInputStream();
System.out.println("The resource was cached!");
}catch (FileNotFoundException e) {
System.out.println("The resource was not cached!" + e);
}catch (IOException e) {
e.printStackTrace();
}
}
答案 0 :(得分:1)
从它看起来,这不是缓存,因为响应文件有
Cache-Control:max-age=0