java中怎样验证重复文件_java – 如何在下载之前检查URL中的重复文件
如果您有基本URL并存儲具有相同文件名的文件.由于文件修改時間和If-Modified-Since HTTP Header,您可以詢問服務器是否值得再次下載映像.
File f = new File();// the file to download
HttpURLConnection con = (HttpURLConnection) new URL("http://www.test.com/"+f.getName()).openConnection();
// Add the IfModifiedSince HEADER
con.setIfModifiedSince(f.lastModified());
con.setRequestMethod("GET");
con.connect();
if(con.getResponseCode() == 304) {
System.out.println(f+ " : already downloaded");
} else {
// Download the content again and store the image again
}
如果自第一次下載以來本地文件的修改時間保持不變并且服務器支持IfModifiedSince標頭,則它將起作用.
如果您不知道如何匹配文件名和URL,那么沒有明顯的方法.
您可以使用快速HEAD請求進行一些實驗并提取一些相關信息,例如:
>內容長度
>最后修改
> ETag
Content-Length Last-Modified可能是一個很好的匹配.
對于ETag,如果您知道http服務器如何構建ETag,您可以嘗試在您的側面(在所有本地文件上)構建它并將其用作比較值.
有關ETag的一些信息:
不幸的是,ETag可以構造為僅對服務器可見的信息(inode編號),因此您無法重建它.
再次下載文件肯定會更容易/更快.
總結
以上是生活随笔為你收集整理的java中怎样验证重复文件_java – 如何在下载之前检查URL中的重复文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL最早版本源码_MySQL旧版本
- 下一篇: 事件传递 java_将事件传递/发送到父