如何自动格式化目录路径

paodan 2010-03-09 09:47:22
比如windows平台,D:\data\test和D:\\data\\test、D:\\\data\\test都合法,即从开始cmd中输入都能够打开目录,如何根据传入的路径字符串,格式化为标准的路径D:\data\test,正则也行。
...全文
200 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wudeaaa 2010-07-13
  • 打赏
  • 举报
回复
学习了
henduonihenb 2010-05-14
  • 打赏
  • 举报
回复
都是java爱好者。
java探讨群
【101706206】
感兴趣的朋友都可以加进来啊。。
大家一起探讨,一起进步啊
不过仅限湖南地区额。。
shine333 2010-05-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 needjava 的回复:]

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

System.err.println( file.toString() );
[/Quote]

+1, 用file, 但是建议用file.getAbsolutePath();
cwjieNo1 2010-05-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 needjava 的回复:]
java.io.File file = new java.io.File( "D:\\data//test" );

System.err.println( file.toString() );
[/Quote]
这个最好了,简单:D:\data\test
hanwangabc 2010-05-14
  • 打赏
  • 举报
回复
学习了
zhuyx808 2010-03-11
  • 打赏
  • 举报
回复
阿哦,不知道有没什么高级的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);
}
}


NeedJava 2010-03-09
  • 打赏
  • 举报
回复
java.io.File file = new java.io.File( "D:\\data//test" );

System.err.println( file.toString() );
paodan 2010-03-09
  • 打赏
  • 举报
回复
忽略大小写 (cao回复内容太短了)
paodan 2010-03-09
  • 打赏
  • 举报
回复
引用 2 楼 zhuyx808 的回复:
看API:File.separator
ps:“/”windows也可以用
是的,我的意思是如何格式路径,像windows的开始-运行中,根据输入的字符串,正确的解析
liguang168 2010-03-09
  • 打赏
  • 举报
回复
引用 2 楼 zhuyx808 的回复:
看API:File.separator
ps:“/”windows也可以用


支持用这种。
zhuyx808 2010-03-09
  • 打赏
  • 举报
回复
看API:File.separator
ps:“/”windows也可以用
paodan 2010-03-09
  • 打赏
  • 举报
回复
先现上一个

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的或者其他操作系统,路径分割符会是"/",因此希望高手指点一个好的方法。

62,584

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧