反斜杠“\”转换为“\\”问题,求解
package com.test;
public class Test01 {
public static void main(String[] args) {
String s = "d:\2012-05.xls";
System.out.println(s.replaceAll("\\\\", "\\\\\\\\"));
}
}
结果为啥子是d:?2-05.xls
而不是d:\\2012-05.xls --------------------编程问答--------------------
String s = "d:\2012-05.xls";
这个地方就应该转义
String s = "d:\\2012-05.xls";
或者
String s = "d:/2012-05.xls";--------------------编程问答-------------------- 就是不知道怎么转啊,求解 --------------------编程问答-------------------- 你的路径本身就是有问题的
d:\2012-05.xls 应该是 d:\\2012-05.xls
\201 系统会认为是一个字符,replaceAll是正则匹配,在字符串中找不到'\',所以结果就会是d:?2-05.xls,为原字符。
你可以加一个System.out.println(s);测试一下 --------------------编程问答-------------------- 我从jsp页面取过来(取的本地路径)打印出来就是d:\2012-05.xls --------------------编程问答-------------------- 那就对了,打印出来是d:\2012-05.xls路径就是对的,应为java里要得到\ 必须用 \\
路径已经是d:\\2012-05.xls了,不用作任何转义 --------------------编程问答--------------------
但是这样我用jxl去读的话就是Workbook.getWorkbook("d:\2012-05.xls");这样就报错啊 --------------------编程问答-------------------- 那就换种方式好了,你不是从jsp里画面取得的吗,那就试试用Workbook.getWorkbook(formFile.getPath()); --------------------编程问答-------------------- /斜杠是真确的路径表示方法但是也可以用 \\斜杠来表示就是不能用单\来表示。而且你写代码没有报错吗?
补充:Java , Java相关