比如windows平台,D:\data\test和D:\\data\\test、D:\\\data\\test都合法,即从开始cmd中输入都能够打开目录,如何根据传入的路径字符串,格式化为标准的路径D:\data\test,正则也行。

解决方案 »

  1.   

    先现上一个import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class TempTest { private static Pattern pattern; private static Matcher matcher; public static String formatPath(String input) {
    pattern = Pattern.compile("\\\\{2,}");
    matcher = pattern.matcher(input);
    String out = matcher.replaceAll("\\\\");
    return out;
    } public static void main(String args[]) {
    String path = "c:\\\\\\\\\\d\\\\c";
    String opath = formatPath(path);
    System.out.println(opath);
    }}
    这个只对windows系统有效,如果是linux的或者其他操作系统,路径分割符会是"/",因此希望高手指点一个好的方法。
      

  2.   

    看API:File.separator
    ps:“/”windows也可以用
      

  3.   

    是的,我的意思是如何格式路径,像windows的开始-运行中,根据输入的字符串,正确的解析
      

  4.   

    忽略大小写 (cao回复内容太短了) 
      

  5.   

    java.io.File file = new java.io.File( "D:\\data//test" );System.err.println( file.toString() );
      

  6.   

    阿哦,不知道有没什么高级的API,不过用程序写也不麻烦阿,递归你会吧public class Test {
       public static String formatPath(String input) {
            if (input.indexOf("//")!=-1){
                return formatPath(input.replace("//","/"));
            }
            return input;
        } 
        public static void main(String args[]) {
            String path = "c:\\\\\\\\\\d\\\\c";
            String opath = formatPath(path.replace("\\","/"));
            System.out.println(opath);
        }
    }
      

  7.   

    这个最好了,简单:D:\data\test
      

  8.   


    +1, 用file, 但是建议用file.getAbsolutePath();
      

  9.   

    都是java爱好者。
    java探讨群
    【101706206】
    感兴趣的朋友都可以加进来啊。。
    大家一起探讨,一起进步啊
    不过仅限湖南地区额。。