从 URL 获取文件名

2024-02-19

在Java中,给定一个java.net.URL or a String形式为http://www.example.com/some/path/to/a/file.xml,获取文件名(减去扩展名)的最简单方法是什么?所以,在这个例子中,我正在寻找返回的东西"file".

我可以想出几种方法来做到这一点,但我正在寻找易于阅读且简短的内容。


与其重新发明轮子,不如使用 Apache公共IO http://commons.apache.org/proper/commons-io/:

import org.apache.commons.io.FilenameUtils;

public class FilenameUtilTest {

    public static void main(String[] args) throws Exception {
        URL url = new URL("http://www.example.com/some/path/to/a/file.xml?foo=bar#test");

        System.out.println(FilenameUtils.getBaseName(url.getPath())); // -> file
        System.out.println(FilenameUtils.getExtension(url.getPath())); // -> xml
        System.out.println(FilenameUtils.getName(url.getPath())); // -> file.xml
    }

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 URL 获取文件名 的相关文章

  • Windows 上的虚假唤醒。是否可以?

    我最近学习了 虚假唤醒 有人说这个问题只可能发生在某些类型的 Linux PC 上 我用的是窗户 我为虚假唤醒编写了测试 我得到的结果是这是可能的 但我想向您展示这个测试 也许我在某个地方犯了错误 我的初始变体 import java ut
  • 模拟框架对我有什么作用?

    我听说有些我无法交谈的人是 jmock 的忠实粉丝 我已经做了以测试为中心的开发多年 所以我浏览了网站并查看了一些文档 但仍然不知道它有什么好处 我对春天也有同样的问题 如果您已经了解它是什么 他们的文档会很好地解释它 所以我并不认为 jm
  • 如何通过keytool命令删除已经导入的证书/别名?

    我正在尝试通过 keytool 命令删除已导入的证书 keytool delete noprompt alias initcert keystore keycloak jks 但低于异常 keytool 错误 java lang Excep
  • 在 C 中解析字符串的最简单方法是什么?

    我必须在 C 中解析这个字符串 XFR 3 NS 207 46 106 118 1863 0 207 46 104 20 1863 r n 并且能够得到207 46 106 118部分和1863部分 第一个 IP 地址 我知道我可以一个字符
  • lombok - 多个镜头中的 @Builder 模式

    I use Builder of 龙目岛项目 https github com rzwitserloot lombok 所以考虑我有这个例子 Builder public class Client private Getter Setter
  • 如何在Spring Security SAML示例中配置IDP元数据和SP元数据?

    我想处理 Spring Security SAML 为此 我开始探索Spring安全SAML http docs spring io spring security saml docs 1 0 x reference html chapte
  • 如何在 Android 中将 EditText 绘制到画布上?

    我想画画 EditText username new EditText context 到我画布上的特定位置 protected void onDraw Canvas canvas 是否可以在基础上画出x y在我的 Java 文件中协调而不
  • Spring Batch:比较数据库之间的数据

    我有两个数据库 Oracle 和 MySQL 目标是将Oracle表中的值保存到MySQL中 要求 MySQL表中不存在数据 但我在理解 Spring Batch 时遇到了困难 步骤中 它包含itemReader itemProcessor
  • WSDL 表示中的枚举类型

    WSDL 表示如下
  • 小米和oppo等中国ROM上的工作管理器,在电池优化时,将工作的计划延迟增加几个小时

    小米和 Oppo 等中国 ROM 上的工作管理器在进行电池优化时 会将计划的工作延迟增加几个小时 但是 我注意到一些应用程序即使在电池优化下也能够让计划的作业安静地完美运行 我注意到的一个区别是 它们每次运行作业时都会显示一条通知 那么这是
  • 按位非运算符

    为什么要按位运算 0 打印 1 在二进制中 不是0应该是1 为什么 你实际上很接近 在二进制中 不是0应该是1 是的 当我们谈论一位时 这是绝对正确的 然而 一个int其值为0的实际上是32位全零 将所有 32 个 0 反转为 32 个 1
  • 序言中不允许引用

    请帮我找到这个异常的原因 我使用以下罐子 core renderer jar itext paulo 155 jar 第一个文档 xhtml lt xml version 1 0 encoding UTF 8 gt lt DOCTYPE h
  • Java 中 LINQ 的等价物是什么? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Java 中 LINQ 的等价物是什么 没有什么比 LINQ for Java 更好的了 Edit 现在
  • 如何迭代SparseArray?

    有没有办法迭代 Java SparseArray 适用于 Android 我用了sparsearray通过索引轻松获取值 我找不到 看来我找到了解决方案 我没有正确注意到keyAt index 功能 所以我会这样做 for int i 0
  • 对于每个抛出异常的语句,try/catch 是否被视为反模式?

    我目前正在审查同事的 Java 代码 我看到很多情况下 每个可能抛出异常的语句都被封装在自己的 try catch 中 其中 catch 块都执行相同的操作 哪个操作与我的问题无关 对我来说 这似乎是一种代码味道 我记得读到过它是一种常见的
  • 如何将我的自定义相机应用程序设置为默认应用程序?

    如果我使用以下代码 Intent takePictureIntent new Intent MediaStore ACTION IMAGE CAPTURE startActivityForResult takePictureIntent 1
  • 一个对大文件有效的轻量级 XML 解析器?

    我需要解析潜在的巨大 XML 文件 所以我猜这排除了 DOM 解析器 是否有任何优秀的 C 轻量级 SAX 解析器 在占用空间上可与 TinyXML 相媲美 XML的结构非常简单 不需要诸如命名空间和DTD之类的高级东西 只是元素 属性和
  • 仅在java中使用数组计算50的阶乘

    我是java的初学者 我有一个作业要编写一个完整的程序 使用数组计算 50 的阶乘 我无法使用像 biginteger 这样的任何方法 我只能使用数组 因为我的教授希望我们理解背后的逻辑 我猜 然而 他并没有真正教我们数组的细节 所以我在这
  • 如何在 SpringDoc OpenAPI 3 中引用文件?

    我有 Spring Boot 项目 我想在其中记录我的 API 这里是正在处理的 Web 服务的示例 ApiResponses value ApiResponse responseCode 200 content Content media
  • 文件构造函数说明

    我无法理解以下文件构造函数 public File String parent String child and public File File parent String child 参数有什么作用parent and child该文件

随机推荐

  • 使用Qt编译测试程序时出错

    我对 C Qt 还很陌生 我正在关注 Jasmin Blanchette 和 Mark Summerfield 所著的 使用 Qt 4 进行 C GUI 编程 一书 我正在编写一个示例程序 并遇到了一些无法解决的编译错误 下面的代码和错误
  • MongoDB:更新文档中的字典

    我有一个 MongoDB 文档 用于保存字典中出现的某些内容 id 1 occurrences 1 1 2 5 17 1 35 4 我现在想要添加或更新一些条目 例如向出现的次数添加 12 3 或者将 17 的出现次数更新为 2 所以假设我
  • C# 正则表达式匹配方括号

    我尝试在 C 中使用正则表达式来匹配可以包含以下内容的软件版本号 2 位数字 1 或 2 位数字 不以 0 开头 另一个 1 或 2 位数字 不以 0 开头 1 2 3 4 或 5 位数字 不以 0 开头 末尾有一个选项字母 括在方括号中
  • 将设计身份验证合并到现有的用户结构中?

    我有一个功能齐全的身份验证系统 其中的用户表有超过五十列 它很简单 但它使用盐进行哈希加密 使用电子邮件而不是用户名 并且还有两种不同类型的用户和管理员 我希望将 Devise 身份验证合并到我的应用程序中 以增强额外的部分 例如电子邮件验
  • gcc 如何在特定平台上获得每种类型的对齐方式?

    它是硬编码到 gcc 的源代码中还是以编程方式获取 我认为它是硬编码在特定于 arch 的文件夹中的 例如对于sparc http www google com codesearch Yj7Hz1ZInUg trunk gcc 4 2 1
  • C:修改文件以从外部文件读取

    我正在努力通过C 编程语言 第二版 尝试通过例子进行推理 我对 C 是个新手 第一章中的大部分示例代码依赖于getchar 接收输入 例如 以下代码返回文本块的最长行 include
  • 我将如何实现不同速度的秒表?

    理想情况下 我想要类似的东西跑表 http msdn microsoft com en us library system diagnostics stopwatch aspx类 但有一个额外的属性称为Speed这将决定计时器改变分钟的速度
  • 为什么flask sqlalchemy模型查询没有得到最新记录?

    我有一个模型类 class PlatformUsage db Model tablename platform usage id db Column db BigInteger primary key True module db Colu
  • div内的表格溢出

    我有一个非常基本的 CSS 问题 我有一个高度固定的 div 并且该 div 内有一个表格 除非 div 具有滚动条 否则表格的内容将无法容纳在 div 中 现在的问题是 表格的内容溢出了 div 因为它的高度超过了我在 div 上设置的高
  • Jenkins 中的 pipelinev shell 返回问题 termios.error: (25, 'In合适的 ioctl for device')

    我的 Jenkins 有一个问题 当我运行作业时 Jenkins 遵循以下步骤 1 pipenv install r requirements txt 2 pipenv shell 在这一步出现了这个错误 pipenv shell 17 2
  • json_encode() 中的编码

    包含 或其他特殊字符的字符串怎么会返回 null 不仅保留特殊字符 而且整个字符串 值 都返回为 null EDIT class JSON static function encode arr utf8 encode false arr s
  • 获取 href onclick 并使用链接重定向

    我正在尝试执行以下代码 通过单击特定的 a 标签从一个页面重定向到另一页面 并附加 clk 变量中的特定链接 function abc var a document getElementsByTagName a alert a for va
  • AndEngine:处理与 TMX 对象的碰撞

    我现在设法加载 tmx 地图 我想创建精灵无法移动的障碍 我像这样恢复了障碍 try final TMXLoader tmxLoader new TMXLoader this this mEngine getTextureManager T
  • JSON 模式 oneOf 属性已填充

    如何设置 JSON 架构规则来表明必须设置并且是必需的属性之一 我尝试了各种方法来解决它 例如 id required true additionalProperties true type object properties surnam
  • 使用 MediaMuxer 创建的不可流式传输的视频文件

    我在用MediaCodec对视频进行编码 帧通过相机预览回调传入MediaCodec实例 未使用 Surface 我在用JCodec https github com jcodec jcodec用于混合的库 我能够流式传输生成的视频 视频播
  • C# 中“枚举数”的定义

    C 中枚举数的含义是什么 枚举器可帮助您枚举 迭代 项目集合 您只需查看即可推断出目的IEnumerator 接口的成员 https msdn microsoft com en us library 78dfe2yb aspx 更具体地说
  • 在 zxing 片段库中打开/关闭手电筒

    我在我的应用程序中实现了 Zxing 条码扫描库 我使用过以下库 https code google com p barcodefraglibv2 https code google com p barcodefraglibv2 我想在扫描
  • 从放置在列表视图中的 edittext 获取数据

    我使用 Holder 创建了一个包含 textview 和 edittext 的列表 它看起来像 Textview Edittext Textview Edittext Textview Edittext 但我无法从每个 Edittext
  • 是否可以使用 Ruby 将一系列 PDF 合并为一个?

    我有一系列按顺序命名的 PDF 如下所示 01 foo pdf 02 bar pdf 03 baz pdf etc 使用 Ruby 是否可以将它们组合成一个大的 PDF 同时保持它们的顺序 我不介意安装任何必要的宝石来完成这项工作 如果这在
  • 从 URL 获取文件名

    在Java中 给定一个java net URL or a String形式为http www example com some path to a file xml 获取文件名 减去扩展名 的最简单方法是什么 所以 在这个例子中 我正在寻找