0

我需要一个带有数组列表的文件后缀,例如

String[] FileType = {"pdf","mp3","jpg"}
File SourceFileToCheckType = new File("C:\\Users\\RS\\Desktop\\test.pdf");

使用下面的方法....这种方法完全没有错误如何处理这种情况

public static boolean FileTypeAccept(File SourceFileToCheckType, String[] fileType) 
    {

            for (String filetypeS : fileType)

            return SourceFileToCheckType.getName().endsWith("." + filetypeS);


    }
4

2 回答 2

1

你快完成了。试试这个代码:

public static boolean FileTypeAccept(File source, String[] fileTypes) 
{
    for (String filetype : fileTypes)
        if (source.getAbsolutePath().endsWith("." + filetype))
            return true;

    return false;
}
于 2012-11-01T20:22:18.430 回答
0

你可以用正则表达式来做到这一点:

SourceFileToCheckType.getName().matches(".*(pdf|mp3|jpg)$")

如果你想让它成为一个变量:

String fileTypes = "pdf|mp3|jpg";

SourceFileToCheckType.getName().matches(".*(" + fileTypes + ")$")

此外,在 java 中更喜欢以小写字母开头的命名变量。

于 2012-11-01T20:16:50.520 回答