刘政道 - 应用程序框架

《31天学会CRM项目开发(C#编程入门及项目实战)》作者,IT经理,程序员
  博客园  :: 新随笔  :: 联系 :: 管理

Windows和Linux下文件路径的解决办法

Posted on 2010-02-04 21:48  刘政道  阅读(1232)  评论(4编辑  收藏  举报

    //For Window 需要用反斜杠

    private String path = "..\\webapps\\ROOT\\upload\\documents\\";

    //For Other OS 需要用正斜杠

    private String path2 = "/opt/tomcat/webapps/ROOT/upload/documents/";

    //getBasedir() 和 getSeparator()定义了在不同操作系统下的路径或连接符

    private String Basedir,Separator;
    
    public String getSeparator()
    {
        if(Separator==null)
        {
            String osName = System.getProperty("os.name");
            if(osName == null)
                osName="";
            if(osName.toLowerCase().indexOf("win") != -1)
                Separator = "\\";
            else
                Separator = "/";
        }
        return Separator;
    }
    public String getBasedir()
    {
        if(Basedir==null)
        {
            String osName = System.getProperty("os.name");
            if(osName == null)
                osName="";
            if(osName.toLowerCase().indexOf("win") != -1)
                Basedir = path;
            else
                Basedir = path2;
        }
        return Basedir;
    }
    // 一个完整的文件路径
    String storedir = getBasedir() + "data" +getSeparator();