项目中与src,build同级的有一个data目录,用于存放xxx.dat数据文件,实际项目中,这个路径应该不会是写死在代码里的,请问标准的做法,是怎样来读取这个路径呢?难道是用形如System.getProperty("user.dir")这种办法么?

解决方案 »

  1.   

    看你是什么项目了,
    如果是简单的桌面项目,可以通过 System.getProperty("user.dir") 方法获得项目的当前路径;
    如果是Web项目,可以通过ServletContext对象的getRealPath("/")方法获得项目的当前路径。
      

  2.   

    请问楼上的前辈,的确是桌面应用,可是如果用形如System.getProperty这种办法:String dataDir = System.getProperty("user.dir") + "/data/";此处的“/data”还是写死在代码中的,请问实际项目中是如何灵活读取这个“/data”路径的呢?难道要事先调用:
    System.setProperty??
      

  3.   

    配置文件,读配置文件就可以了,一般是用classpath路径加绝对路径的
      

  4.   

    最好是
    String dataDir = System.getProperty("user.dir") + "/.data/";
    文件夹前面加个.,还有别用data这么常用的名字,加个.操作系统会认为是隐藏文件夹,一般不会显示给用户的
      

  5.   

    几个月后回来看,觉得应该是再多放一个properties配置文件,从中读取路径,这样就不会写死在编译好的class文件中了,以后要换文件夹也好换