java 字符串split 与 File.seperator

2018-10-22  本文已影响0人  金刚_30bf

在对字符串进行文件路径分割时, 如下代码报异常:

        String[] ss  = tmpath.split(File.separator);  // 异常 
        //String[] ss  = tmpath.split("\\");  // 异常 
        //String[] ss  = tmpath.split("\\\\");  // 正常  
        //String[] ss  = tmpath.split(Matcher.quoteReplacement(File.separator));  // 正常  

出现的异常如下:

nested exception is java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
\
 ^
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:866)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:851)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)

这是因为,''和''是正则中的关键字 , 如果正则字符中包含'\'或者''符号,会造成混淆。

推荐使用 : tmpath.split(Matcher.quoteReplacement(File.separator))

上一篇下一篇

猜你喜欢

热点阅读