Java中获取文件名的方法及技巧有哪些?
- 后端开发
- 2025-09-15
- 4
在Java中,获取文件名的方法有很多种,具体取决于你的需求,以下是一些常用的方法:
使用File类
File类是Java中处理文件和目录的基本类,以下是如何使用File类获取文件名的方法:

使用Path类
Path类是Java NIO包的一部分,提供了处理文件路径的API,以下是如何使用Path类获取文件名的方法:
import java.nio.file.Path; import java.nio.file.Paths; public class Main { public static void main(String[] args) { Path path = Paths.get("path/to/your/file.txt"); String fileName = path.getFileName().toString(); System.out.println("文件名: " + fileName); } }
使用URL类
如果你有一个文件的URL,你可以使用URL类来获取文件名:
import java.net.URL; public class Main { public static void main(String[] args) { URL url = new URL("file:path/to/your/file.txt"); String fileName = url.getPath(); System.out.println("文件名: " + fileName); } }
使用java.io.FileInputStream类
如果你有一个文件的FileInputStream对象,你可以使用FileInputStream类来获取文件名:

import java.io.FileInputStream; import java.io.IOException; public class Main { public static void main(String[] args) { FileInputStream fileInputStream = new FileInputStream("path/to/your/file.txt"); String fileName = fileInputStream.toString(); System.out.println("文件名: " + fileName); } }
使用java.io.FileReader类
如果你有一个文件的FileReader对象,你可以使用FileReader类来获取文件名:
import java.io.FileReader; import java.io.IOException; public class Main { public static void main(String[] args) { FileReader fileReader = new FileReader("path/to/your/file.txt"); String fileName = fileReader.toString(); System.out.println("文件名: " + fileName); } }
| 方法 | 类 | 代码示例 |
|---|---|---|
| 方法一 | File | String fileName = file.getName(); |
| 方法二 | Path | String fileName = path.getFileName().toString(); |
| 方法三 | URL | String fileName = url.getPath(); |
| 方法四 | FileInputStream | String fileName = fileInputStream.toString(); |
| 方法五 | FileReader | String fileName = fileReader.toString(); |
FAQs
Q1:如何获取文件名中的扩展名?
A1:你可以使用File类或Path类来获取文件名中的扩展名,以下是一个使用File类的示例:
import java.io.File; public class Main { public static void main(String[] args) { File file = new File("path/to/your/file.txt"); String fileName = file.getName(); String extension = ""; int i = fileName.lastIndexOf('.'); if (i > 0) { extension = fileName.substring(i+1); } System.out.println("文件扩展名: " + extension); } }
Q2:如何获取不带扩展名的文件名?
A2:你可以使用File类或Path类来获取不带扩展名的文件名,以下是一个使用File类的示例:
import java.io.File; public class Main { public static void main(String[] args) { File file = new File("path/to/your/file.txt"); String fileName = file.getName(); String nameWithoutExtension = fileName.substring(0, fileName.lastIndexOf('.')); System.out.println("不带扩展名的文件名: " + nameWithoutExtension); } }
