判断http链接中文件是否存在
最近项目遇到需要从http请求下载文件到服务器,下载前需要判断下http中的文件是否存在。如果判断本地服务器上文件是否存在,用file.exists来判断。但是这个方法却无法判断http中文件是否存在。
如果要判断http文件是否存在,用如下代码:
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;public class Main {public static void main(String[] args) {String urlString = "http://example.com/file.txt";try {URL url = new URL(urlString);HttpURLConnection connection = (HttpURLConnection) url.openConnection();connection.setRequestMethod("HEAD");int responseCode = connection.getResponseCode();if (responseCode == HttpURLConnection.HTTP_OK) {System.out.println("文件存在");} else {System.out.println("文件不存在");}} catch (IOException e) {System.out.println("连接失败");}}
}
如果对方系统需要身份验证,那么需要加如下代码。我们系统是需要token验证。加权限验证的代码如下:
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;public class Main {public static void main(String[] args) {String urlString = "http://example.com/file.txt";try {URL url = new URL(urlString);HttpURLConnection connection = (HttpURLConnection) url.openConnection();//权限校验connection.setRequestProperty("X-JFrog-Art-Api","cmv125VmedaeDAFdafLFAF2ed");//HEAD请求,不返回响应体,但是有些服务器可能不支持,则改成GET请求connection.setRequestMethod("HEAD");int responseCode = connection.getResponseCode();if (responseCode == HttpURLConnection.HTTP_OK) {System.out.println("文件存在");} else {System.out.println("文件不存在");}} catch (IOException e) {System.out.println("连接失败");}}
}
判断http中文件是否存在可以利用java.nio的方法,代码如下:
import java.io.IOException;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;public class Main {public static void main(String[] args) {String urlString = "http://example.com/file.txt";try {URL url = new URL(urlString);Path path = Paths.get(url.toURI());if (Files.exists(path)) {System.out.println("文件存在");} else {System.out.println("文件不存在");}} catch (IOException e) {System.out.println("连接失败");}}
}
相关文章:
判断http链接中文件是否存在
最近项目遇到需要从http请求下载文件到服务器,下载前需要判断下http中的文件是否存在。如果判断本地服务器上文件是否存在,用file.exists来判断。但是这个方法却无法判断http中文件是否存在。 如果要判断http文件是否存在,用如下代码…...
Flink CDC (session模式)
1、 # Start YARN session ./bin/yarn-session.sh --detached 2、配置文件: rest.bind-port: {{REST_PORT}} rest.address: {{NODE_IP}} execution.target: yarn-session yarn.application.id: {{YARN_APPLICATION_ID}} 3、mysql-doris.yml source:type: mysql…...
下载ISO镜像的方法 Debian、Red Hat 、CentOS、Ubuntu、Kali Linux
目录 Debian Red Hat CentOS Ubuntu Kali Linux Debian 下载步骤: 访问Debian的官方网站:Debian官网。在网站上找到“Downloads”或类似的下载链接。选择适合你的计算机架构(如amd64、i386等)的Debian版本。点击下载ISO镜像…...

想学接口测试,不知道那个工具适合?
接口测试是软件测试中的一项重要任务,它主要关注系统的不同组件之间的数据交换和通信。接口测试是一种黑盒测试方法,它可以帮助我们验证系统的功能和性能是否达到预期,并且确保不同组件之间的消息传递是正确的。在接口测试过程中,…...

干货分享 | TSMaster—RP1210模块使用指南
RP1210是由技术和维护委员会(TMC)编写的一种建议性实践。RP1210用于对重型车辆射频相关的(主要针对)电子控制单元(ECU)进行二次编程和分析。本文主要针对TSMaster—RP1210模块的操作进行详细介绍。 本文关…...
一步解决Ubuntu中无法使用git clone的问题
在网上找了很多教程都无法解决,最后用了一行命令成功解决 git config --global url."https://github.com".insteadOf git://github.com输入这行命令,之后就可以使用git clone了...
c++的时间复杂度
前言 Hello,大家好我是文宇. 最近没怎么写文章了,写个教程吧. 正文 C是一种高级编程语言,用于开发各种类型的应用程序,包括计算机科学中的算法和数据结构。在编写代码时,了解算法和数据结构的时间复杂度非常重要,因为它可以帮…...
PDF转图片 JAVA
前言 以下是一个使用 Apache PDFBox 将 PDF 文件转换为图片的封装方法。这个方法将会把 PDF 的每一页转换为一张图片,并保存到指定的目录中。 1.添加依赖 首先,你需要在项目中添加 PDFBox 的依赖。如果你使用的是 Maven,可以在 pom.xml 中添…...

树莓派5 笔记26:ollama大型语言模型_中文输入法_Python_espeak文字转语音
今日继续学习树莓派5 8G:(Raspberry Pi,简称RPi或RasPi) 本人所用树莓派4B 装载的系统与版本如下: 版本可用命令 (lsb_release -a) 查询: Opencv 与 python 版本如下: 下载大语言模型,下载中文输入法&#…...
【kubernetes】k8s安全机制
Kubernetes 作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。API Server 是集群内部各个组件通信的中介, 也是外部控制的入口。所以 Kubernetes 的安全机制基本就是围绕保护 API Server 来设计的。 比如 kubectl 如果想向 API Server…...
Android T(13) The app is granted permissions by default
我的博客 对比Android11,frameworks\base\services\core\java\com\android\server\pm\permission文件夹下,多了个PermissionManagerServiceImpl.java. 有一部分关于权限的处理,移到了这个文件中.比如:restorePermissionState(…) all app granted permissions by default b/fr…...

4 - Linux远程访问及控制
目录 一、SSH远程管理 1. SSH概述 2.SSH的优点 3.配置OpenSSH客户端 4.sshd服务支持的两种验证方式 5. 使用SSH客户端程序 5.1 ssh - 远程登录 5.2 scp - 远程复制 6.配置密钥对验证 二、TCP Wrappers访问控制 1.TCP Wrappers 概述 2. TCP Wrappers 机制的基本原则 …...

如何使用AWS EC2资源?
随着云计算技术的迅速发展,越来越多的企业和个人选择将工作负载迁移到云端,以获取灵活性、可扩展性和成本效益。作为全球领先的云计算服务提供商,AWS为用户提供了丰富的服务,其中最受欢迎的之一是云服务器EC2。本文中九河云将探讨…...

Linux高编-进程的概念(1)
目录 1.ps aux 2.top 3.kill -2 进程pid // fork函数 getpid拿自己的进程号 getppid拿父进程号 fork()&&fork()||fork() 父子进程的关系: 僵尸进程,孤儿进程 僵…...
go语言中new和make的区别
在 Go 语言中,new 函数不能用来创建通道(chan),这是因为 new 只分配内存并返回指向该内存的指针,而不负责初始化内存。 为什么不能使用 new 来创建通道? new 只能分配内存,但不会对内存进行初…...

SpringBoot响应式编程(3)R2DBC
一、概述 1.1简介 R2DBC基于Reactive Streams反应流规范,它是一个开放的规范,为驱动程序供应商和使用方提供接口(r2dbc-spi),与JDBC的阻塞特性不同,它提供了完全反应式的非阻塞API与关系型数据库交互。 …...
什么是私有继承
私有,公有,针对类而言; 私有( private )的成员,自己的,只能在自己内部( 类的定义体内部 )访问,外部( 类的定义体外部 )不能访问/调用; 公有( 或者说公开,public )的成员࿰…...
Scratch编程:开启智能硬件控制的大门
标题:“Scratch编程:开启智能硬件控制的大门” 在当今数字化时代,编程不仅仅是与计算机的交互,更是与物理世界的连接。Scratch,这款由麻省理工学院媒体实验室开发的视觉化编程语言,以其易学易用的特性&…...
机器学习第十二章-计算学习理论
目录 12.1基础知识 12.2 PAC学习 12.3有限假设空间 12.3.1可分情形 12.3.2不可分情形 12.4VC维 12.5 Rademacher复杂度 12.1基础知识 计算学习理论研究的是关于通过"计算"来进行"学习"的理论,即关于机器学习的理论基础,其目的…...
Java-自定义注解操作日志记录处理(@Pointcut注解不是必须的)
在Java中,使用自定义注解结合Spring AOP来实现操作日志记录是一种常见的做法。这种方式可 以帮助你轻松地在不修改业务代码的情况下增加日志记录的功能。 下面我将详细介绍如何定义一个自定义注解,并结合Spring AOP来实现操作日志记录的功能。 1. 定义自定义注解 首先,我…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...
JavaScript基础-API 和 Web API
在学习JavaScript的过程中,理解API(应用程序接口)和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能,使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...