这是我开发的代码但是我遇到了一件事。我想让我的程序识别文件扩展名是我目录中的文件。
import java.io.File;
public class SystemCommands{
public static void main (String args[]){
String dir_name = "C:\\Program Files\\WinRAR";
File dir = new File(dir_name);
File[] dir_list = dir.listFiles();
for(int i=0;i<dir_list.length;++i)
{
System.out.println(dir_list[i].getName());
System.out.println("Is it a directory = " + dir_list[i].isDirectory());
System.out.println("Is it a file = " + dir_list[i].isFile());
}
}
}
答案 0 :(得分:3)
您可以使用String#lastIndexOf
并执行以下操作:
String file = dir_list[i].toString();
System.out.println(file.substring(0, file.lastIndexOf('.')));
或者,您最好使用FilenameUtils#getExtension
:
System.out.println(FilenameUtils.getExtension(yourString));
答案 1 :(得分:0)
String filename=null;
for(int i=0;i<dir_list.length;++i)
{
filename=dir_list[i].getName();
if(dir_list[i].isFile())
{
System.out.println(filename.split(\\.)[(filename.split(\\.)).length-1]);
}
}
答案 2 :(得分:0)
使用Apache Commons IO中的FilenameUtils.getExtension
以下是使用示例:
String ext = FilenameUtils.getExtension("/path/file/file.txt");
答案 3 :(得分:0)
Try this one...
File fileName= new File("Animation.xml");
String str= fileName.getName();
System.out.println(fileName.getName());
System.out.println(str.substring(str.lastIndexOf(".")));
答案 4 :(得分:-1)
File f = new File("test.txt");
String [] str = f.getName().split("\\.");
if(str.length>1) {
System.out.println(str[1]);
}else {
System.out.println("No extension. File name is :" + str[0]);
}