您的位置:首页 > 运维架构 > Linux

paip兼容windows与linux的java类根目录路径的方法

2014-03-14 09:16 513 查看
paip兼容windows与linux的java类根目录路径的方法

1.只有 pathx.class.getResource("")或者pathx.class.getResource(".")才是在linux,widdows下获取的路径一致。。都是class的实现路径..不过没方法获得root path..

其他的都不一致---widdows得到class root, linux却是/root/。。。

比如class.getResource("/")以及class.getClassLoader().getResource

2.只好从中截取路径了。。

但是在com下的路径截取却得到pinyin*.jar的奇怪路径,估计java的bug。。com.attilax.io这个路径走好着了.

public static String classPath()

{

//URL u=new URL()

//jeoig linux hamyar cheng leig ***.jar! le ..

// return new File( classpathGetter.class.getResource("").getPath()).getParent() ;

String path = pathx.class.getResource("").getPath();

int index=path.lastIndexOf("/");

String path_sub=path.substring(0, index-15);

return path_sub;

}

作者Attilax 艾龙, EMAIL:1466519819@qq.com

来源:attilax的专栏

地址:http://blog.csdn.net/attilax

///////////////mmseg中的获取路径

RL url = Dictionary.class.getClassLoader().getResource("data");

却是可以的。。

但是使用 getResource(""); 却不行,得到的/root/ in linux..

getResource("com")也很离谱,居然是pinyin*.jar

////////////////在内jar 还是classes 的类都是一样的效果...

public class pathx {

/**linux

* file:/root/

file:/root/

null

file:/root/

-------1-------

file:/root/

null

file:/root/

-------2-------

file:/root/

null

file:/root/

----

file:/imServer/WebRoot/WEB-INF/classes/com/attilax/io/

file:/root/

file:/imServer/WebRoot/WEB-INF/classes/com/attilax/io/

------//////////////windows

file:/D:/workspace/imServer/WebRoot/WEB-INF/classes/

null

file:/D:/workspace/imServer/WebRoot/WEB-INF/classes/

-------1-------

file:/D:/workspace/imServer/WebRoot/WEB-INF/classes/

null

file:/D:/workspace/imServer/WebRoot/WEB-INF/classes/

-------2-------

file:/D:/workspace/imServer/WebRoot/WEB-INF/classes/

null

file:/D:/workspace/imServer/WebRoot/WEB-INF/classes/

----

file:/D:/workspace/imServer/WebRoot/WEB-INF/classes/com/attilax/io/

file:/D:/workspace/imServer/WebRoot/WEB-INF/classes/

file:/D:/workspace/imServer/WebRoot/WEB-INF/classes/com/attilax/io/

* @param args

*/

public static void main(String[] args) {

System.out.println(Thread.currentThread().getContextClassLoader().getResource(""));

System.out.println(Thread.currentThread().getContextClassLoader().getResource("/"));



System.out.println(Thread.currentThread().getContextClassLoader().getResource("."));



System.out.println("-------1-------");

System.out.println(pathx.class.getClassLoader().getResource(""));

System.out.println(pathx.class.getClassLoader().getResource("/"));

System.out.println(pathx.class.getClassLoader().getResource("."));

System.out.println("-------2-------");

System.out.println(ClassLoader.getSystemResource(""));

System.out.println(ClassLoader.getSystemResource("/"));

System.out.println(ClassLoader.getSystemResource("."));

System.out.println("----");

System.out.println(pathx.class.getResource(""));

System.out.println(pathx.class.getResource("/"));

System.out.println(pathx.class.getResource("."));



System.out.println(pathx.class.getResource("").getPath());



}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: