Я пытаюсь кэшировать этот файл: http://media.admob.com/sdk-core-v40.js с HttpResponseCache. В основном я вызываю функцию getFileFromUrl два раза, так что в первый раз он получает ресурс из Интернета, а во второй раз получает его из кеша.HttpResponseCache не кэширует файлы
Однако для обоих методов он дает следующую ошибку: «Ресурс не был кеширован! 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();
}
}
В моем случае у меня есть ответ с 'Cache-Control: частным, должны-перепроверить, максимальный возраст = 0', и независимо от того, что я делаю, я не могу заставить его кэшировать. Вы решили проблему? – rraallvv
Что ** src ** вы передаете? –