如何在Grails中获取文件扩展名?

时间:2015-10-02 22:39:12

标签: grails

  

我最近开始研究grails,我想知道如何获得        文件的扩展名。例如:test.txt。我想查看扩展名(txt)?        任何线索?

3 个答案:

答案 0 :(得分:3)

这是另一种方式。使用正则表达式。

def fileName = 'something.ext'
def matcher = (fileName =~ /.*\.(.*)$/)

if(matcher.matches()) {
    def extension = matcher[0][1]

    if(extension in ['jpg', 'jpeg', 'png']) {
        // Good to go
        println 'ok'
    } else {
        println 'not ok'
    }
} else {
    println 'No file extension found'
}

答案 1 :(得分:1)

问题询问如何获取文件扩展名。

使用groovy,以下操作将为您提供任何文件名的文件扩展名:

def fileName = ...
def fileExt = fileName - ~/.*(?<=\.)/

接受的答案再进一步,并尝试检查特定的文件扩展名。您也可以使用匹配运算符==~进行此操作:

assert fileName ==~ ~/.*(?<=\.)(txt|jpe?g|png)/

只要文件名以提供的扩展名之一结尾,此断言将起作用。


还注意到groovy可以使用(<?\.)

进行正向后视

答案 2 :(得分:0)

  

希望我找到了我的问题的答案。如何找到扩展名       一个文件。

&#13;
&#13;
String fileName = "something.ext";
        int a = fileName.lastIndexOf(".");
        String extName = fileName.substring(a);
        System.out.println(fileName.substring(a));
        ArrayList<String> extList = new ArrayList<String>();
        extList.add("jpg");
        extList.add("jpeg");
        extList.add("png");
        if(extList.contains(extName))
        {
            System.out.println("proceed");
        }
        else{
            System.out.println("throw exception");
        }
&#13;
&#13;
&#13;

Lsat comment at this post