Java 基础教程

Java 面向对象

Java 高级教程

Java 笔记

Java FAQ

java去除文件名后缀


在 Java 中去除文件名的后缀有多种方式可以实现。我将为您介绍三种常见的方式:使用 String 操作、使用 Path 对象以及使用 Apache Commons IO 库。对于每种方式,我将提供详细的步骤流程和示例代码。

使用 String 操作

这是一种简单的方法,适用于基本的文件名后缀去除操作。

步骤流程:

  1. 使用 lastIndexOf() 方法找到文件名中最后一个点(.)的位置。
  2. 使用 substring() 方法截取从文件名开头到最后一个点的部分。

示例代码:

public class RemoveFileExtension {
    public static void main(String[] args) {
        String fileName = "example.txt";
        int lastDotIndex = fileName.lastIndexOf(".");

        if (lastDotIndex > 0) {
            String nameWithoutExtension = fileName.substring(0, lastDotIndex);
            System.out.println("File name without extension: " + nameWithoutExtension);
        } else {
            System.out.println("No file extension found.");
        }
    }
}

使用 Path 对象

Java 中的 Path 类提供了更强大的文件路径处理功能,可以更方便地操作文件名和路径。

步骤流程:

  1. 使用 Paths.get() 创建 Path 对象。
  2. 使用 getFileName() 获取文件名部分。
  3. 使用 getNameCount() 获取路径元素的数量。
  4. 使用 subpath() 方法获取文件名部分的子路径。

示例代码:

import java.nio.file.Path;
import java.nio.file.Paths;

public class RemoveFileExtension {
    public static void main(String[] args) {
        String filePath = "path/to/example.txt";
        Path path = Paths.get(filePath);
        Path fileName = path.getFileName();

        if (fileName != null) {
            String fileNameWithoutExtension = fileName.toString();
            int lastDotIndex = fileNameWithoutExtension.lastIndexOf(".");

            if (lastDotIndex > 0) {
                fileNameWithoutExtension = fileNameWithoutExtension.substring(0, lastDotIndex);
            }

            System.out.println("File name without extension: " + fileNameWithoutExtension);
        } else {
            System.out.println("Invalid file path.");
        }
    }
}

使用 Apache Commons IO 库

Apache Commons IO 库提供了更多文件和 I/O 操作的实用方法。您可以使用这个库来更轻松地处理文件名和路径。

步骤流程:

使用 FilenameUtils.getBaseName()方法获取文件名的基本名称。

Maven 依赖:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-io</artifactId>
    <version>1.3.2</version> <!-- 版本号可能需要根据实际情况进行更新 -->
</dependency>

Gradle 依赖:

implementation 'org.apache.commons:commons-io:1.3.2' // 版本号可能需要根据实际情况进行更新

示例代码:

import org.apache.commons.io.FilenameUtils;

public class RemoveFileExtension {
    public static void main(String[] args) {
        String fileName = "example.txt";
        String nameWithoutExtension = FilenameUtils.getBaseName(fileName);
        System.out.println("File name without extension: " + nameWithoutExtension);
    }
}

这些是在 Java 中去除文件名后缀的几种常见方式。您可以根据您的需求选择其中一种方法来实现。

在Java中,使用`MultipartFile`获取上传文件的文件名有几种不同的方式,下面我将为您介绍每种方式的步骤流程,并提供相应的示例代 ...
以下是这些方法的详细说明:###方法一:使用String的lastIndexOf()和substring()方法步骤流程:1.示例代码:## ...
###方式一:使用强制类型转换步骤流程:将双精度浮点数强制转换为整数,这将自动截断小数部分。示例代码:###方式四:使用BigDecimal ...
以下是这三种方式:###方法一:使用String的replaceAll方法这是一种简单的方法,使用Java内置的字符串替换方法来移除所有空格 ...
###方法一:使用substring方法这是一种简单直接的方法,利用`substring`方法截取字符串的一部分,排除最后一个字符。示例代码 ...