示例1:获取文件扩展名的Java程序
import java.io.File;
class Main {
public static void main(String[] args) {
File file = new File("Test.java");
// convert the file name into string
String fileName = file.toString();
int index = fileName.lastIndexOf('.');
if(index > 0) {
String extension = fileName.substring(index + 1);
System.out.println("File extension is " + extension);
}
}
}
在上面的示例中,
- file.toString() -将
File
对象转换为字符串。 - fileName.lastIndexOf(‘。’) -返回字符的最后一次出现。由于所有文件扩展名均以“。”开头。 ,我们使用字符 “。”。 。
- fileName.substring() -返回字符 “。”之后的字符串 。 。
示例2:获取目录中存在的所有文件的文件扩展名
现在,假设我们要获取目录中存在的所有文件的文件扩展名。我们可以在循环中使用以上过程。
import java.io.File;
class Main {
public static void main(String[] args) {
File directory = new File("Directory");
// list all files present in the directory
File[] files = directory.listFiles();
System.out.println("Files\t\t\tExtension");
for(File file : files) {
// convert the file name into string
String fileName = file.toString();
int index = fileName.lastIndexOf('.');
if(index > 0) {
String extension = fileName.substring(index + 1);
System.out.println(fileName + "\t" + extension);
}
}
}
}
输出
Files Extension
Directory\file1.txt txt
Directory\file2.svg svg
Directory\file3.java java
Directory\file4.py py
Directory\file5.html html
注意 :程序的输出取决于您使用的目录和目录中的文件。
- 如果使用的是Gauva库,则可以直接使用
getFileExtension()
方法获取文件扩展名。例如,String fileName = "Test.java"; String extension = Files.getFileExtension(fileName);
- 而且,Apache Commons IO还提供FilenameUtils类,提供了getExtension方法来获取文件的扩展名。
String extension = FilenameUtils.getExtension("file.py") // returns py