如何在java中查找文件类型

时间:2014-04-14 09:42:05

标签: java file types file-extension

如何找到文件类型,例如.xls转到 xlsconvertcsv 方法或.xlsx转到 xlsscsv 方法,如何做到这一点。?

我使用getCanonicalPath()方法,我找到了文件类型,但我无法将字符串转换为文件。

public static void main(String[] args) throws IOException {

        File inputFile = new File("test.xls");

        File outputFile = new File("output1.csv");

        String out=inputFile .getCanonicalPath();

        if(out.endsWith(".xls"))
        {
          System.out.print("Text filei\n"+out);
          convertToXls(out, outputFile);
        }
    //System.out.println("out"+out);
    //convertToXls(inputFile, outputFile);
}

5 个答案:

答案 0 :(得分:1)

您可以使用以下代码

import javax.activation.MimetypesFileTypeMap;
import java.io.File;

class GetMimeType {
   public static void main(String args[]) {
      File f = new File("gumby.gif");
      System.out.println("Mime Type of " + f.getName() + " is " +
                     new MimetypesFileTypeMap().getContentType(f));
// expected output :
// "Mime Type of gumby.gif is image/gif"

} }

答案 1 :(得分:1)

试试这个:

public static void main(String[] args) throws IOException {

    File inputFile = new File("test.xls");
    File outputFile = new File("output1.csv");

    if(inputFile.etCanonicalPath().endsWith(".xls")) {
      System.out.print("Text filei\n"+out);
      convertToXls(inputFile, outputFile);
    }
    //System.out.println("out"+out);
    //convertToXls(inputFile, outputFile);
}

答案 2 :(得分:0)

如果您只想要文件名,请尝试getName()

    File inputFile = new File("test.xls");

    File outputFile = new File("output1.csv");

    String out=inputFile.getName();

    if(out.endsWith(".xls"))
    {
      System.out.print("Text filei\n"+out);
      convertToXls(out, outputFile);
    }

答案 3 :(得分:0)

您需要显示哪些错误导致您的程序无法正常工作

我认为您需要在流程

之前检查文件是否存在
 if(inputFile.exists()){

     String out=inputFile .getCanonicalPath();
     if(out.endsWith(".xls")) {
        System.out.print("Text filei\n"+out);
       convertToXls(out, outputFile);
     }
 }

答案 4 :(得分:0)

这就是你想要的,你可以使用switch on file扩展名并调用相应的方法。

public static void main(String[] args) throws IOException {
    File inputFile = new File("test.xls");
    File outputFile = new File("output1.csv");
    String inPath =  inputFile.getCanonicalPath();

    String ext = inPath.substring(inPath.lastIndexOf(".") + 1, inPath.length());
    switch(ext){
        case "xls":
            convertXls(inputFile,outputFile);
            break;
        case "xlsx":
            convertXlsx(inputFile,outputFile);
            break;
    }
}