2014-08-31 53 views
0

我有一个应该为程序提供路径的类。为了做到这一点,它决定了Windows下的本地和漫游数据路径,并在Linux下取得了一个家目录。除此之外,它提供了来自其他路径的路径。一类中静态初始值设定项的初始化顺序

它是安全的写

public class DataDirectory { 
    public static final File ROAMING; 
    public static final File LOCAL; 

    static { 
     // set ROAMING and LOCAL 
    } 

    public static final File PROFILE = doMkdirs(new File(ROAMING, "profiles"); 
    public static final File SETUP = doMkdirs(new File(ROAMING, "setup"); 
    public static final File LOGFILES = doMkdirs(new File(ROAMING, "logfiles"); 

    private static File doMkdirs(File file) { 
     file.mkdirs(); 
     return file; 
    } 
} 

或做我必须做的

public class DataDirectory { 
    public static final File ROAMING; 
    public static final File LOCAL; 

    public static final File PROFILE; 
    public static final File SETUP; 
    public static final File LOGFILES; 

    static { 
     // set ROAMING and LOCAL 

     PROFILE = mkdirsRoaming("profiles"); 
     SETUP = mkdirsRoaming("setup"); 
     LOGFILES = mkdirsRoaming("logfiles"); 
    } 

    public static final File PROFILE = doMkdirs(new File(ROAMING, "profiles"); 
    public static final File SETUP = doMkdirs(new File(ROAMING, "setup"); 
    public static final File LOGFILES = doMkdirs(new File(ROAMING, "logfiles"); 

    private static File doMkdirs(File file) { 
     file.mkdirs(); 
     return file; 
    } 
} 

上为了安全吗?

回答