一文总结Java获取文件后缀名的所有方法

一文总结Java获取文件后缀名的所有方法

在Java中,获取文件后缀名的方法有多种,本篇文章将会总结介绍这些方法。

方法一:使用String类型的substring()方法

可以通过String类型提供的substring()方法获取文件名中的后缀名。

示例代码如下:

public static String getFileSuffixUsingSubstring(String fileName) {
    if (fileName.lastIndexOf(".") != -1 && fileName.lastIndexOf(".") != 0) {
        return fileName.substring(fileName.lastIndexOf(".") + 1);
    } else {
        return "";
    }
}

方法二:使用String类型的split()方法

可以通过String类型提供的split()方法分割文件名并获取最后一个元素,即为后缀名。

示例代码如下:

public static String getFileSuffixUsingSplit(String fileName) {
   String[] strArr = fileName.split("\\.");
   return strArr[strArr.length - 1];
}

方法三:使用Guava库中的Files类

Google Guava是一个扩展了JDK的核心库,提供了很多非常实用的工具方法。其中,Files类提供的getFileExtension()方法可以直接获取文件的后缀名。

示例代码如下:

public static String getFileSuffixUsingGuava(String fileName) {
   return Files.getFileExtension(fileName);
}

总结:

以上三种方法都可以实现获取文件后缀名,开发者可以根据具体需求选择不同的方法。其中,使用Guava库中的Files类可以提高开发效率,尤其是在需要使用许多其他Guava提供的工具方法时,便于统一管理和引用。

代码总结(完整代码可见Github):

import java.io.File;

import com.google.common.io.Files;

public class GetFileSuffixDemo {

    public static void main(String[] args) {
        String fileName = "test.txt";
        String fileSuffix1 = getFileSuffixUsingSubstring(fileName);
        System.out.println("使用String类型的substring()方法获取文件后缀名:" + fileSuffix1);

        String fileSuffix2 = getFileSuffixUsingSplit(fileName);
        System.out.println("使用String类型的split()方法获取文件后缀名:" + fileSuffix2);

        String fileSuffix3 = getFileSuffixUsingGuava(fileName);
        System.out.println("使用Guava库中的Files类获取文件后缀名:" + fileSuffix3);
    }

    public static String getFileSuffixUsingSubstring(String fileName) {
        if (fileName.lastIndexOf(".") != -1 && fileName.lastIndexOf(".") != 0) {
            return fileName.substring(fileName.lastIndexOf(".") + 1);
        } else {
            return "";
        }
    }

    public static String getFileSuffixUsingSplit(String fileName) {
        String[] strArr = fileName.split("\\.");
        return strArr[strArr.length - 1];
    }

    public static String getFileSuffixUsingGuava(String fileName) {
        return Files.getFileExtension(fileName);
    }
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一文总结Java获取文件后缀名的所有方法 - Python技术站

(1)
上一篇 2023年6月26日
下一篇 2023年6月26日

相关文章

  • tensorflow实现打印ckpt模型保存下的变量名称及变量值

    TensorFlow实现打印ckpt模型保存下的变量名称及变量值攻略 TensorFlow是一个广泛使用的深度学习框架,它提供了保存和加载模型的功能。当我们保存模型时,TensorFlow会将模型的变量保存在一个或多个ckpt文件中。本攻略将详细介绍如何使用TensorFlow打印ckpt模型保存下的变量名称及变量值。 步骤一:加载ckpt模型 首先,我们需…

    other 2023年8月8日
    00
  • ubuntu下安装mysql

    Ubuntu下安装MySQL攻略 MySQL是一款流行的关系型数据库管理系统,可以在Ubuntu上进行安装和使用。本攻略将详细讲解如何在Ubuntu上安装MySQL。 步骤 以下是在Ubuntu上安装MySQL的步骤: 更新软件包列表:使用以下命令更新软件包列表: bash sudo apt update 安装MySQL:使用以下命令安装MySQL: bas…

    other 2023年5月9日
    00
  • 性能测试-详细的 TPS 调优笔记

    性能测试-详细的 TPS 调优笔记 背景 在开发过程中,性能测试是非常重要的一环。而其中 TPS(Transactions Per Second,每秒事务处理数)是衡量系统性能指标的重要参数。在进行性能测试时,调优系统 TPS,可以使得系统在高并发下稳定运行,保证用户体验。 下面是我对 TPS 调优的笔记,分享给各位。 TPS 调优方法 方法一:增加系统资源…

    其他 2023年3月28日
    00
  • 网络管理之IP地址篇

    网络管理之IP地址篇攻略 1. IP地址的基本概念 IP地址是用于在网络中唯一标识设备的一组数字。它由32位或128位二进制数字组成,通常以点分十进制或冒号分隔的十六进制表示。IP地址分为IPv4和IPv6两种版本。 2. IPv4地址管理 IPv4地址由32位二进制数字组成,通常以点分十进制表示。IPv4地址分为网络地址和主机地址两部分,网络地址用于标识网…

    other 2023年7月29日
    00
  • 使用Netty搭建服务端和客户端过程详解

    “使用Netty搭建服务端和客户端过程详解”是一篇针对Netty初学者的教程,旨在介绍如何使用Netty框架来实现服务端和客户端的通信。本教程将详细阐述如何使用Netty搭建服务端和客户端,包括如下几个方面: Netty框架的基本介绍:介绍Netty的基本概念并简单介绍Netty的几个核心组件和它们的作用。 创建服务端:介绍如何在Netty框架下创建一个服务…

    other 2023年6月25日
    00
  • jQuery动画出现连续触发、滞后反复执行的解决方法

    解决jQuery动画连续触发、滞后反复执行的方法,需要使用到jQuery的一个核心函数。这个函数叫做stop(),可以使已经正在运行的动画停止,并清空动画队列。同时,还需要注意,改用动画的回调函数来实现一些复杂的动画效果,避免出现连续触发、滞后反复执行的现象。 以下是详细的攻略: 一、使用stop()函数 在实现jQuery动画时,我们通常会使用animat…

    other 2023年6月27日
    00
  • Android使用ViewFlipper实现上下滚动消息

    Android使用ViewFlipper实现上下滚动消息攻略 简介 ViewFlipper是Android中的一个布局容器,它可以让子视图在容器内进行切换显示。通过使用ViewFlipper,我们可以实现上下滚动消息的效果。 步骤 步骤一:添加ViewFlipper到布局文件 首先,在你的布局文件中添加一个ViewFlipper容器,如下所示: <Vi…

    other 2023年9月6日
    00
  • 开发团队(team)的主要职责和特征

    开发团队的主要职责和特征 开发团队是一个网站运转的关键团队。一个优秀的开发团队通常应具有以下职责和特征。 主要职责 确保网站的功能正常运行:开发团队应该负责确保网站所有功能的正常运行。 维护代码库:开发团队需要维护代码库,保证代码库整洁、有效、高效率并且代码注释清晰。 数据库设计和管理:开发团队需要负责数据记录的设计和管理,确保数据库的高效性、安全性以及可访…

    其他 2023年3月29日
    00
合作推广
合作推广
分享本页
返回顶部