如何获得文件扩展名?

时间:2014-03-11 06:43:28

标签: java command system

这是我开发的代码但是我遇到了一件事。我想让我的程序识别文件扩展名是我目录中的文件。

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());
      }
   }
}

5 个答案:

答案 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]);
            }