Java根据http路径判断路径是否可以访问、获取文件大小

    /*** 路径是否可以访问* @param urlString* @return*/public static boolean isUrlAccessible(String urlString) {try {URL url = new URL(urlString);HttpURLConnection connection = (HttpURLConnection) url.openConnection();connection.setRequestMethod("HEAD"); // 使用HEAD方法进行请求,以节省带宽connection.setConnectTimeout(3000); // 设置连接超时时间connection.setReadTimeout(3000); // 设置读取超时时间int responseCode = connection.getResponseCode();// 判断响应码是否表示成功(200-399 范围内)return (200 <= responseCode && responseCode <= 399);} catch (Exception e) {e.printStackTrace(); // 出现异常,说明URL不可访问return false;}}/*** 获取文件大小* @param fileUrl 文件路径* @return* @throws IOException*/public static long getFileSize(String fileUrl) {Long fileSize = 0L;try {URL url = new URL(fileUrl);HttpURLConnection connection = (HttpURLConnection) url.openConnection();connection.setRequestMethod("HEAD");connection.connect();int responseCode = connection.getResponseCode();if (responseCode == HttpURLConnection.HTTP_OK) {String contentLength = connection.getHeaderField("Content-Length");if (contentLength != null) {fileSize = Long.parseLong(contentLength);}}}catch (Exception e){System.out.println("获取文件大小出错!错误原因:" + e.getMessage());fileSize = -1L; // 返回-1表示获取文件大小失败}return fileSize;}/*** 文件大小单位转换方法: B/KB/MB/GB* @param contentLength 文件大小* @return*/public static String fileUnitConversion(Long contentLength) {DecimalFormat df = new DecimalFormat("#.00");String fileSizeString;long fileSize = contentLength;if (fileSize < 1024) {fileSizeString = df.format((double) fileSize) + "B";} else if (fileSize < 1048576) {fileSizeString = df.format((double) fileSize / 1024) + "KB";} else if (fileSize < 1073741824) {fileSizeString = df.format((double) fileSize / 1048576) + "MB";} else {fileSizeString = df.format((double) fileSize / 1073741824) + "GB";}return fileSizeString;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/868271.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用ChatGPT辅助论文写作又怕学术造假?这样用就对了!

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 随着人工智能技术的发展&#xff0c;ChatGPT等语言模型在学术研究中的应用日益广泛。然而&#xff0c;在利用这些工具时&#xff0c;如何避免学术造假成为一个重要问题。学术造假不仅损…

flask、fastapi在服务器制作接口携参访问返回参数

flask创建接口&#xff1a; 一、安装python 官网下载Download Python | Python.org 二、安装flask 在选择的文件夹路径cmd调用bash安装 pip install Flask三、创建flask应用 # app.py from flask import Flask, request, jsonify app Flask(__name__) app.route(/ech…

银行卡快捷支付的应用范围

银行卡快捷支付的应用范围非常广泛&#xff0c;几乎涵盖了现代生活中的各种支付场景。以下是银行卡快捷支付的主要应用范围&#xff1a; 1. 线上购物 在电子商务平台、在线商城或移动应用上&#xff0c;用户可以使用银行卡快捷支付进行在线购物支付。通过选择预先绑定的银行卡…

SQLite Glob 子句

SQLite Glob 子句 SQLite 的 GLOB 子句是一种强大的搜索工具,用于在数据库中执行模式匹配操作。它类似于 SQL 中的 LIKE 子句,但 GLOB 使用的是基于文件系统的通配符,而不是 SQL 的百分比 (%) 和下划线 (_) 通配符。在本文中,我们将详细介绍 SQLite 中的 GLOB 子句,包括其…

Linux服务管理(二)DHCP/FTP服务

DHCP四部曲是指客户机请求IP、服务器响应、客户机选择IP以及服务器确定租约四个步骤的过程。这一系列过程共同构成了DHCP客户机动态获取IP地址的完整流程。下面将详细解读这一过程的每个阶段&#xff1a; 客户机请求IP&#xff1a;也称为DHCPDISCOVER&#xff0c;当一个DHCP客户…

ESXi6.7 update 3主机实现新硬件运行老环境

server 2003 SQL server 2000 SQL SP4 vmware tools 一、适用场景 1、运行多年的老企业&#xff0c;积累的数据量庞大&#xff0c;其中的数据库并不一定都是现在开发的平台或系统&#xff0c;而是已经正在运行&#xff0c;不能停业务的状态。 2、老系统老应用平台&#xf…

IT数据从业人员必读好物——最新发布物开放免费下载!

如今&#xff0c;越来越多的企业开始重视IT在业务中的作用&#xff0c;并寻求通过数字化转型来提升竞争力&#xff0c;且趋向于采用敏捷、灵活的方法来适应快速变化的市场需求。 本月精选发布物&#xff0c;正是为企业的IT管理提供了一个全面的标准化框架&#xff0c;帮助企业系…

如何确保工业展厅设计既专业又吸引?三原则详解!

工业是民族发展的基石&#xff0c;它为我们带来了无数的便利和进步&#xff0c;而为了让更多人了解这个至关重要的产业&#xff0c;以及其背后的技术和产品&#xff0c;许多工业性质的企业都致力于通过互动投影、虚拟现实、全息投影等多媒体技术&#xff0c;来打造独具特色的工…

vue-virtual-scroller-展示大量数据列表-虚拟列表展示优化

安装 -演示 npm i vue-virtual-scrolleryarn add vue-virtual-scrollervue-virtual-scroller 是一个 Vue 组件库,用于高效地渲染大量数据项,通过虚拟滚动来提升性能。它适用于长列表、网格、表格等场景 引入组件 Vue 项目中引入并注册 vue-virtual-scroller 组件。你可以在全…

@金融安全专业人士和风险管理决策者,必读白皮书现开放免费下载!

加快建设金融强国&#xff0c;是中国经济长远发展的战略抉择&#xff0c;更是在经济全球化进程中维护国际金融安全的重要举措&#xff0c;而防控金融风险是建设金融强国的重要保障。 本月最新发布物&#xff0c;聚焦「安全」主题&#xff0c;尤其为金融行业的安全专家&#xff…

除了伦敦外,英国还有这些热门留学城市

在同学们选择出国留学时&#xff0c;首先要考虑到的便是择校的问题。除了排名、专业、录取要求之外&#xff0c;城市因素也占据了很大比重。 抛开学校自身的优势外&#xff0c;一座城市的氛围、成本、环境都是需要考虑的因素。下面就我们来盘点一下英国热门的留学城市。 爱丁…

Google Hacking

1 需求 2 语法 3 目录索引页面 intitle:index intitle:of intitle:/ site:com.cn "Google hacking" 或 "Google dorking" 指的是使用特定的搜索查询技巧来发现互联网上可能的安全漏洞或敏感信息。当你想要检索那些可能泄露了文件目录结构的网站时,你可以…

『C++成长记』string模拟实现

&#x1f525;博客主页&#xff1a;小王又困了 &#x1f4da;系列专栏&#xff1a;C &#x1f31f;人之为学&#xff0c;不日近则日退 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ ​ 目录 一、存储结构 二、默认成员函数 &#x1f4d2;2.1构造函数 &#x1f4d2;2.…

尚品汇-(十二)

&#xff08;1&#xff09;数据库表结构 根据以上的需求&#xff0c;以此将SKU关联的数据库表结构设计为如下&#xff1a; base_attr_value&#xff1a;前面学的平台属性值表 我们进行关联&#xff0c;可以从分类导向平台&#xff0c;通过平台过滤商品 &#xff08;2&#xf…

ubuntu 24手动编译nginx源码及添加对ip地址过滤的支持

本文参考了csdn这位博主的文章并修改整理&#xff1a; https://blog.csdn.net/qq_32262243/article/details/133951973 还是腾讯云ubuntu 24系统&#xff0c;我这里并没有手动下载pcre等源码&#xff0c;直接用ubuntu自带的就可以了&#xff0c;也不需要手动编译openssl等。 …

MySQL—统计函数和数学函数以及GROUP BY配合HAVING

合计/统计函数 count -- 演示 mysql 的统计函数的使用 -- 统计一个班级共有多少学生&#xff1f; SELECT COUNT(*) FROM student -- 统计数学成绩大于 90 的学生有多少个&#xff1f; SELECT COUNT(*) FROM student WHERE math > 90 -- 统计总分大于 250 的人数有多少&…

【SpringCloud应用框架】Nacos命名空间、分组和DataID三者关系

第五章 Spring Cloud Alibaba Nacos之命名空间、分组和DataID三者关系 文章目录 一、名词解释三者关系 二、切换不同环境DataID方案Group方案Namespace空间方案 一、名词解释 命名空间&#xff08;Namespace&#xff09; ​用于进行租户粒度的配置隔离。不同的命名空间下&…

GraphRAG

什么是RAG&#xff1f; RAG 是一种自然语言查询方法&#xff0c;用于通过外部知识增强现有的LLM&#xff0c;因此如果问题需要特定知识&#xff0c;问题的答案会更相关。它包括一个检索信息组件&#xff0c;用于从外部源获取附加信息&#xff0c;也称为“基础上下文”&#xf…

pnpm介绍

PNPM 是一个 JavaScript 包管理器&#xff0c;类似于 npm 和 Yarn。它的全称是 "Performant npm"&#xff0c;主要设计目标是优化包的安装和管理过程&#xff0c;以提升速度和效率。PNPM 的主要特点包括&#xff1a; 符号链接&#xff08;Symlink&#xff09;&#x…

rocketmq 顺序消息原理与实战

消费者pull和push pull 为主动从broker获取消息 Push为broker主动推送消息个consumer 实时性更高&#xff0c;但流量要自己控制 PullBatchSize&#xff0c;代表的是每次从broker的一个队列上拉取的最大消息数。 consumeThreadMax 和 consumeThreadMin 代表消费者pull消息时需要…