String str = "c:\mytest\test.txt";
str = str.replaceAll( "\\", "\\\\" );

解决方案 »

  1.   

    str=str.replace('\\','\\\\');
    不过你换成/也是可以的
      

  2.   

    是的,的确不行,是我凭记忆写出来的
    下面这个是测试过的public class Test {
      public static void main (String args[])  {
       String str = "c:\\mytest\\test.txt";
       str = str.replaceAll( "\\\\", "\\\\\\\\" );
       System.out.println( str );
      } 
     }to  biggie(飞碟) ( ) :
    replace好像不能对\\\\使用把?
      

  3.   

    我的问题是:
    String str="c:\mytest\test.txt";//因为我从上传文件取出的参数是这样的字符串
    如何将str中的字符"\"用"\\"或"/替换"?
    to biggie(飞碟),你的方法:str=str.replace('\\','\\\\');
    好像也不可以。
      

  4.   

    我觉的取文件名用不着这么麻烦吧!i=s.lastIndexOf("\\");  //pos int; s文件名路径
    s=s.substring(i+1);
      

  5.   

    to hanyl(hanyl) :public class Test {
      public static void main (String args[])  {
       String str = "c:\\mytest\\test.txt";
       str = str.replaceAll( "\\\\", "\\\\\\\\" );
       System.out.println( str );
      } 
     }这样就可以得到你要的效果了
    你试试看
      

  6.   

    我取出的文件名是字符"\"连接的,如上:String str="c:\mytest\test.txt";就是想把它转成用"\\"字符连接。
      

  7.   

    我知道你是用\连接的
    上面那个是测试的时候
    我总不能直接就用\吧?
    会报错的阿你把取出的字符串
    String str="c:\mytest\test.txt";
    str = str.replaceAll( "\\\\", "\\\\\\\\" );
    这样
    看看
      

  8.   

    不要使用"+"连接符,最好使用StringBuffer的append方法
    这样就不存在这个问题了
      

  9.   

    to:XKP(低等下人)
    我试了,对于String str="c:\mytest\test.txt";用str = str.replaceAll( "\\\\", "\\\\\\\\" );方法替换字符"\"是不行的。但文件上传后的路径名称就是这样的,所以还请再帮忙看看哦。
    :(
      

  10.   

    最简单的做法:
    String temp = "c:\mytest\test.txt";
    while(temp.indexof("\\")>-1)
    {
        temp = temp.replace("\\","###");
    }
    while(temp.indexof("###")>-1)
    {
        temp = temp.replace("###","\\\\");
    }
      

  11.   

    好的,我从外部读了一个文件进来,然后转换,你看看abc.javaimport java.io.*;
    public class Test {
      public static void main (String args[]) throws Exception{
       File file = new File( "abc.txt" );
       BufferedReader br = new BufferedReader( new FileReader( file ) );
       String str = br.readLine();
       str = str.replaceAll( "\\\\", "\\\\\\\\" );
       System.out.println( str );
      } 
     }
    abc.txt的内容
    E:\Java\ejb
      

  12.   

    还是不可以,我用的是eclipse,eclipse就不认这样的字符串"c:\mytest\test.txt"提示转义序列无效.
    我在jsp页面直接取得上传文件的路径,然后想替换,用了上述的各种方法,依然报错.
      

  13.   

    还不行········那就这样写···str = str.replace( '\\', '/' );再不行我也没戏了
      

  14.   

    但是怎么会报错:
    class java.lang.String 中未找到方法 replaceAll(java.lang.String, java.lang.String)。
     filePathName = filePathName.replaceAll("\\","/");
      

  15.   

    str = str.replace( '\\', '/' );注意这里没有All了
    而且引号也不是双引号,而是单引号了
      

  16.   

    至于说你的replaceAll没有的问题
    是因为你的JDK版本低了·····
    140以上的才有
      

  17.   

    我是jdk1.4,replaceAll应该是可以的,但是str = str.replace( '\\', '/' );成功了,谢谢XKP(低等下人)