sb.append("C:");
sb.append(File.separator);
sb.append("01");
sb.append(File.separator);
sb.append("02");
String s = sb.toString();
System.out.println(s);
String[] strArray = s.split("\\");
for(int i=0;i<strArray.length;i++)
{
            System.out.println(strArray[i]);
}为什么老是报异常?

解决方案 »

  1.   

    StringBuilder sb = new StringBuilder();
      

  2.   

       String[] strArray = s.split("\\\\");
      

  3.   

    用4个反斜线
    String[] strArray = s.split("\\\\");
      

  4.   


            sb.append("C:");
            sb.append("\\");
            sb.append("01");
            sb.append("\\");
            sb.append("02");
            String s = sb.toString();
            System.out.println(s);
            String[] strArray = s.split("\\\\");
            for(int i=0;i<strArray.length;i++)
            {
                    System.out.println(strArray[i]);
            }
      

  5.   

    \\是便是代表\,但是\在Java中是转义符.需要再转义一个,所以又需要2个反斜线了
      

  6.   


            StringBuffer sb = new StringBuffer();
    sb.append("C:");
    sb.append("\\");
    sb.append("01");
    sb.append("\\");
    sb.append("02");
    String s = sb.toString();
    System.out.println(s);
    String[] strArray = s.split("\\" + File.separator);
    for (int i = 0; i < strArray.length; i++) {
    System.out.println(strArray[i]);
    }
      

  7.   


    我感觉应该是正则中转一个吧,JAVA中\\就已经转过了,所以我感觉应该是正则中转一个
      

  8.   

    File.separator 在 UNIX 系统上,此字段的值为 '/';在 Microsoft Windows 系统上,它为 '\\'。
      

  9.   

    \在正则中也是一个转义字符,\在java中也是一个转义字符,所以要想用正则分开的话必须有2个\,于是在java中就需要4个\
      

  10.   

    有个字符串构造器,也可以用那个 
    StringTokenizer