假设我的路径是c:\\\\aa\\bb
这是在windows的下面使用的,但是因为要跨平台的,所以可能路径会是linux下的。
我可能通过得到系统分隔符是 / 还是 \ 来判断是在windows操作系统下还是linux操作系统下,知道了后
我要判断这个路径是否是正确的,麻烦各位给解决一下,怎么判断?给出解决代码来,当然正则表达式也行。是
两个操作系统都要校验的。

解决方案 »

  1.   

    不用判断,直接用File.separator代替你的分隔符就行了
      

  2.   

    话是这么说,但是他要是在linux系统下输入c://aa/bb呢??这毕竟也是错误的路径么。。
      

  3.   


    這么說可有意思了 ,如果我在windows系統里面 輸入linux的分隔符  你就把這個判斷成linux系統處理了 ??
      

  4.   

    我感覺  你要判斷的不是路徑  而是系統 
    System.getProperties().getProperty("os.name")不能根據路徑名來判斷系統然后處理,應該是先判斷系統  然后判斷user輸入的路徑正確否
    然后用File.separator ,完成路徑 后續操作
      

  5.   

    对,就是那意思。假设为boolean a(String path){}
    如果在某个操作系统下,path符合此操作系统下的路径的要求,则返回true,否则为false..
    至于得到是什么操作系统,此操作系统的分隔符是什么,要在这个方法里面得到,然后就是用某些方法检验此路径是否正确。
    我想到的就是这方法谢谢。
      

  6.   

    1、windows系统和linux系统都能识别分隔符号“/”,linux系统不能识别分隔符号“\”。
    2、windows系统的路径是盘符+目录。例如:c:/aa/bb
       linux系统的路径不讲盘符的。例如:/aa/bb因此,你可以按系统不同,定义好正则表达式。windows系统时用适合windows的正则表达式来检查,linux系统时用适合linux的正则表达式来检查。
      

  7.   

    那就麻烦各位将各自的正则表达式写下吧。
    还有windows下的路径可能这么写\\aa\\bb则有可能是相对路径。。