如果您有基本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中的重复文件相关推荐

  1. 星星之火-50:无意中发现一种能够把网络视频下载到本地计算机中的方法

    目前,随着移动互联网的盛行,网络中充斥着各种大量的视频,但大多数情况下,我们智能通过客户端观看视频,无法把视频文件下载到本地,最笨的方法就是录屏. 然后,一个偶然的机会,无意中发现一种能够把网络视频下 ...

  2. 编程时java找不到文件_java.io.FileNotFoundException:系统找不到指定的文件

    java.io.FileNotFoundException:系统找不到指定的文件 所以我一直坚持这一点. 基本上,我有一个名为"word.txt"创build的文件,每当我运行该程 ...

  3. java web下载zip文件_Java Web之下载文件

    下载的文件,不能随便的被访问,放在外面的文件夹肯定不行,url一敲就能访问了,所以我们要放在WEB-INF文件夹里面,WEB-INF文件夹只有Servlet才能访问,我们新建一个文件夹,叫downlo ...

  4. JAVA编译显示存在不安全_java – 编译时出现“未经检查或不安全的操作”错误...

    参见英文答案 > What causes javac to issue the "uses unchecked or unsafe operations" warning   ...

  5. think.class.php下载,PHP_ThinkPHP实现将本地文件打包成zip下载,首先,将FileToZip.class文件放到T - phpStudy...

    ThinkPHP实现将本地文件打包成zip下载 首先,将FileToZip.class文件放到ThinkPHP/Extend/Library/ORG/Util/文件夹中,FileToZip.class ...

  6. 压缩包下载后php文件怎么打开,用户下载的压缩包rar格式或zip文件如何解压 解压后就可以安装或运行里面的文件了...

    狸窝网盘中分享有很多解决方案中使用到的软件资源,下载到电脑后是一个软件的文件压缩包,有的用户下载后不知道如何解压或说解压不了,怎么办?由于狸窝所面向用户比较大众化,为方便不同年龄层次和新手的使用,这里 ...

  7. java oss如何下载文件_Java OSS批量下载并压缩为ZIP代码实例

    这篇文章主要介绍了Java OSS批量下载并压缩为ZIP代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 /** * 批量下载为zip * @ ...

  8. java读取二进制流文件_java分别通过字节流、字符流、二进制读取文件的代码

    将做工程过程中比较好的一些内容段做个备份,下面的资料是关于 java分别通过字节流.字符流.二进制读取文件的内容,应该是对小伙伴们有些用途. public class Start { public s ...

  9. Java布局怎么加图片组件_java – 将图像缩略图添加到网格中的布局...

    所以基本上,你需要一些存在于滚动窗格中的容器(通常称为视图). 为此你应该添加你的图像. import java.awt.BorderLayout; import java.awt.Component ...

最新文章

  1. 7 Papers Radios | NeurIPS 2020最佳论文;全卷积网络实现E2E目标检测
  2. 使用freemarker生成java文件(其他文件也可以)
  3. js检测字符串方法大全
  4. AngularJS笔记之创建服务方式比较 : factory vs service vs provider
  5. 自定义控件使用InnerDefaultProperty提示“内不允许包含文字内容”
  6. 学习笔记 9.22 - 9.29
  7. 桌面电源、USB、读卡总集线器的想法
  8. 利用jieba进行中文分词并进行词频统计
  9. 计算机excel必备知识,excel常用函数大全
  10. 一步步学习微软InfoPath2010和SP2010--第五章节--添加逻辑和规则到表单(1)--InfoPath中初级类型的表单逻辑
  11. web前端html代码,WEB前端--HTML(示例代码)
  12. python余弦定理_基于Python计算气弹簧选型
  13. 深入分析redis之rax底层原理,前缀树?
  14. GitHub 热点速览 Vol.14:周获 2k+ Vim³ 掀起三维编程风
  15. 江浙沪地区计算机考研高效排名,江浙沪地区,哪所大学的法硕容易考上?
  16. Bootstrap4 徽章(Badges)
  17. Mysql增删改查sql语句练习
  18. Matlab彩色图像卷积的数学原理及纯手工实现
  19. [原创]ExtAspNet秘密花园(二) — 一切从头开始
  20. python学习②21 7 14

热门文章

  1. python正则表达式面试_Python面试 Re-正则表达式
  2. 未发现oracle(tm)客户端和网络组件_SpringColud Eureka的服务注册与发现
  3. ad域管理与维护_U-Mail邮件系统LDAP/AD同步极大提升办公效率
  4. python socket编程_Python学习记录-socket编程
  5. jsp标签 判断 余数_舟山铝箔纸不干胶标签制作-雷宝实业
  6. SDI高清视频光端机特点有哪些?
  7. 【渝粤教育】电大中专电商运营实操作业 题库
  8. 【渝粤教育】电大中专学前儿童健康教育_1作业 题库
  9. 电源模块的安全设计和热设计
  10. java.lang.stackoverflowerror_java.lang.StackOverflowError——如何解决StackOverflowError错误