...
String regExp = ".+\\\\(.+)$";
Pattern p = Pattern.compile(regExp);
Matcher m = p.matcher(name);
boolean result = m.find();
if(result)
{.....
}
else {
    throw new IOException("上传失败!");
}
...
如上,后面捕捉到了这个异常,我想问下 什么情况下才会抛出这个异常,也就是什么情况下 result为false

解决方案 »

  1.   

    这明明是个正则的问题与文件上传什么关系啊。。
    当name没有".+\\\\(.+)$"匹配的字符串时result为false
      

  2.   

    这是别人写的一个文件上传,但有人上传不成功!我调试的时候想重现问题,但怎么都能匹配。我想知道用户在什么情况下他的文件路径name会匹配不上
      

  3.   


    这是别人写的一个文件上传,但有人上传不成功!我调试的时候想重现问题,但怎么都能匹配。我想知道用户在什么情况下他的文件路径name会匹配不上 
      

  4.   

    这个正则匹配的就是:任意的字符后面跟\再跟上任意字符,结尾的字符串。
    那么你要他匹配不上只要字符中不含有\就行了,例如:asgfdh.avi,sgdfhd.swf,asfgfdd.xls这些的没有包含\的都是不匹配的
      

  5.   

    那个name是文件的路径,用户在上传文件的时候怎么才能路径没有\呢。比如放在C盘那就会有C:\asfgfdd.xls
      

  6.   

    你是选择的一个文件上传的吧,那肯定匹配成功啊,计算机的存储文件的路径肯定都是C:\XX.xls的格式啊,要是你的上传文件的路径的输入框可以手写的话,你乱写一个试试。不就报错了么,其实这段验证程序,如果输入框是不可输入的,完全没有存在的必要。如果是可输入的,就自己乱写一个试试吧