我想c:\aaa\bbb\ccc\如果出现在程序当中的话,是不可能在程序中编译通过的!
除非通过读取配置文件而得到这个字符串,然后使用replace(char,char);
当然,‘\’是不要出现在程序中!

解决方案 »

  1.   

    我想问的是下面这个意思:
    站点的虚拟目录为c:\aaa\bbb,xsl文件在c:\aaa\bbb\xsl下,JavaBean中File xslFile=new File("/xsl/a.xsl")总是报错找不到?
    难道"文件路径"只能用绝对路径吗?File file=new File("文件路径");
      

  2.   

    String path="c:\aaa\bbb\ccc\"
    path=path.replaceAll("\\","\\");不行呀,我试过了总是报错:java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
    \
     ^
    at java.util.regex.Pattern.error(Pattern.java:1456)
    at java.util.regex.Pattern.compile(Pattern.java:1248)
    at java.util.regex.Pattern.(Pattern.java:997)
    at java.util.regex.Pattern.compile(Pattern.java:744)
    at java.lang.String.replaceAll(String.java:1679)
      

  3.   

    private String replaceTag(String str, char from, char to)
    {
        int pos;
        while((pos = str.indexOf(from)) != -1)
            str = str.substring(0, pos) + to + str.substring(pos + 1);    return str;
    }
      

  4.   

    后一个参数改为String 型(或者两个参数都改成String型也可以)。
    声明的时候好像得费点劲。
    String from = "\\";
    String to = "\\\\";
      

  5.   

    楼上的不行呀,我试过了。
    如果用replaceAll()怎么做?
      

  6.   

    不好意思,上面的那个函数是用来替换不同的字符的。
    from和to没有共同的部分,但是"\\"和"\\\\"有共同的部分。
    可以改动一下。
      

  7.   

    String path="c:\aaa\bbb\ccc\";
    这句话本身就有问题,这样的定义不能通过编译的。