为了删除一些特殊情况的检查代码,我将要使用一个stab来使用这两个版本的lastIndexOf,并希望使这个意图更易读。信用额度为

Justin ‘jinguy’ Nelson提供了这种方法的基础:

public static String removeExtention(String filePath) {

// These first few lines the same as Justin's

File f = new File(filePath);

// if it's a directory, don't remove the extention

if (f.isDirectory()) return filePath;

String name = f.getName();

// Now we know it's a file - don't need to do any special hidden

// checking or contains() checking because of:

final int lastPeriodPos = name.lastIndexOf('.');

if (lastPeriodPos <= 0)

{

// No period after first character - return name as it was passed in

return filePath;

}

else

{

// Remove the last period and everything after it

File renamed = new File(f.getParent(), name.substring(0, lastPeriodPos));

return renamed.getPath();

}

}

对我来说,这比特殊套管隐藏的文件和不包含点的文件更清晰。它也更清楚地看到我理解你的规范是什么;像“删除最后一个点和其后的所有内容,假定它存在,而不是文件名的第一个字符”。

请注意,此示例也意味着Strings作为输入和输出。由于大部分抽象需要File对象,所以如果输入和输出也是这样,那么它将会更加清晰。

java 文件去除扩展名_在Java中删除文件扩展名相关推荐

  1. java dom 获得子元素_在JavaScript中删除DOM节点的所有子元素

    我将如何删除JavaScript中DOM节点的所有子元素? 说我有以下(丑陋的)HTML: hello world 我抓住了我想要的节点,如下所示: var myNode = document.get ...

  2. 从Git存储库中删除文件而不从本地文件系统中删除它

    我的初始提交包含一些日志文件. 我已将*log添加到我的.gitignore ,现在我想从我的存储库中删除日志文件. git rm mylogfile.log 将从存储库中删除文件,但也将从本地文件系 ...

  3. java 删除压缩zip文件_从ZIP存档中删除文件,而无需在Java或Python中解压缩 - java...

    从ZIP存档中删除文件,而无需使用Java(首选)或Python解压缩 你好 我使用包含数百个高度压缩的文本文件的大型ZIP文件.解压缩ZIP文件时,可能要花一些时间,并且很容易消耗多达20 GB的磁 ...

  4. java 实现内存数据表_数据结构 Java中的内存

    根据线性表的实际存储方式,分为两种实现模型: 顺序表 ,将元素顺序地存放在一块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示. 链表 ,将元素存放在通过链接构造起来的一系列存储块中. 一.顺 ...

  5. 【源码+图片素材】Java王者荣耀游戏开发_开发Java游戏项目【王者荣耀】1天搞定!!!腾讯游戏_Java课程设计_Java实战项目_Java初级项目

    王者荣耀是当下热门手游之一,小伙伴们是否想过如何制作一款属于自己的王者荣耀游戏呢? 本课程讲解了一个王者荣耀游戏的详细编写流程,即使你是刚入门Java的新手,只要你简单掌握了该游戏所需要的JavaSE ...

  6. 阿里巴巴Java笔试题很难_阿里巴巴Java笔试题和面试题答案

    阿里巴巴集团经营多元化的互联网业务,致力为全球所有人创造便捷的交易渠道.自成立以来,阿里巴巴集团建立了领先的消费者电子商务.网上支付.B2B网上交易市场及云计算业务,近几年更积极开拓无线应用.手机操作 ...

  7. sed删除以什么开头的内容_使用 sed 命令删除文件中的行

    原标题:使用 sed 命令删除文件中的行 Sed 代表流编辑器 Stream Editor ,常用于 Linux 中基本的文本处理.sed 命令是 Linux 中的重要命令之一,在文件处理方面有着重要 ...

  8. 拷贝文件产生副本_从Windows 10中删除文件后,文件的副本在文件历史记录中保留多长时间?...

    拷贝文件产生副本 If you have decided to make use of Windows 10's file history capabilities, how long will a ...

  9. Python 中删除文件的几种方法|好用

    很多时候开发者需要删除文件.可能是他错误地创建了文件,或者不再需要该文件.无论出于何种原因,都有一些方法可以通过Python来删除文件,而无需手动查找文件并通过UI交互来进行删除操作. 使用Pytho ...

  10. 如何在 Python 中删除文件或文件夹?

    问: 如何删除文件或文件夹? 答1: huntsbot.com汇聚了国内外优秀的初创产品创意,可按收入.分类等筛选,希望这些产品与实践经验能给您带来灵感. os.remove() 删除一个文件. os ...

最新文章

  1. 使用R实现一个简单的连续系统模拟
  2. Vue + Element UI 实现权限管理系统 前端篇(七):功能组件封装
  3. [译] Fiber内幕:深入概述React新的协调算法
  4. 谷歌guava_使用Google Guava进行馆藏创建和不变性
  5. linux nona怎么用_nano命令_Linux nano 命令用法详解:字符终端文本编辑器
  6. arcgis在面内创建随机点
  7. 应用程序利用ADO对象访问数据库
  8. 产品经理如何晋升为产品总监
  9. visual studio 2010运行速度提速
  10. LeetCode 108. Convert Sorted Array to Binary Search Tree
  11. SpringCloud学习笔记001-SpringCloud_001_SpringCloud简介_单体架构_微服务架构_服务注册与发现_微服务调用关系
  12. 概率论概念及机器学习中样本相似性度量之马氏距离
  13. 移动端常见bug汇总001
  14. vmWare配置静态ip-net模式
  15. (5)Redis主从同步原理及详细配置
  16. 【工具】在idea中使用svn
  17. 2022数学建模美赛D题详细思路获取
  18. 如何记录COGI中删除的记录
  19. Qt使用OpenCv
  20. Zen程序员的10条规则

热门文章

  1. 12月英语计算机统考时间,网络教育2019年12月统考时间与统考科目
  2. 用Keil C编制单片机高级语言程序,KeilC单片机C语言与研究.doc
  3. FreeBSD 13.0-RELEASE 安装记录
  4. 黑马程序员------黑马基础测试题参考
  5. 大数据安全核心技术分析:数据采集存储安全技术
  6. ArcBlock 将出席以太坊经典峰会 | ABT 预告
  7. 网站中图片变形如何解决
  8. 麻雀虽小,五脏俱全——由C语言小程序深入学习软件工程和设计开发规范
  9. 手机游戏充值api 各大游戏在线直充
  10. gem意思_宝石gem的gem什么意思 宝石gem为什么叫老舅