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());  



          

    }



}

paip兼容windows与linux的java类根目录路径的方法的更多相关文章

  1. Java文件夹操作,判断多级路径是否存在,不存在就创建(包括windows和linux下的路径字符分析),兼容Windows和Linux

    兼容windows和linux. 分析: 在windows下路径有以下表示方式: (标准)D:\test\1.txt (不标准,参考linux)D:/test/1.txt 然后在java中,尤其使用F ...

  2. linux下java调用.so文件的方法1: JNI

    摘自http://blog.163.com/squall_smile/blog/static/6034984020129296931793/ https://my.oschina.net/simabe ...

  3. Windows与Linux/Mac系统时间不一致的解决方法

    Windows与Linux/Mac系统时间不一致的解决方法 分类: linux2012-02-12 14:25 1691人阅读 评论(1) 收藏 举报 windowsubuntusystemlinux ...

  4. Java进阶(四十)Java类、变量、方法修饰符讲解

    Java进阶(四十)Java类.变量.方法修饰符讲解 Java类修饰符 abstract: 将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现. final: 将一个类生命为最终(即非继承类) ...

  5. C#调用java类、jar包方法(转)

    一.将已经编译后的java中Class文件进行打包:打包命令JAR 如:将某目录下的所有class文件夹全部进行打包处理: 使用的命令:jar cvf test.jar -C com/ . 其中tes ...

  6. linux查看java jdk安装路径和设置环境变量

    一:查看类型 windows: set java_home:查看JDK安装路径 java -version:查看JDK版本 linux: whereis java which java (java执行 ...

  7. C#调用java类、jar包方法

    一.将已经编译后的java中Class文件进行打包:打包命令JAR 如:将某目录下的所有class文件夹全部进行打包处理: 使用的命令:jar cvf test.jar -C com/ . 其中tes ...

  8. 【转】C#调用java类、jar包方法

    原文地址:http://blog.csdn.net/black0707/article/details/5769366 一.将已经编译后的java中Class文件进行打包:打包命令JAR 如:将某目录 ...

  9. linux 查看java的安装路径

    在linux下,如何找java的安装路径 han@ubuntu:/etc$ whereis java java: /usr/bin/java /usr/share/java /usr/lib/jvm/ ...

随机推荐

  1. 创建solr集群简述

    综述: 用两台服务器,每台服务器上启动两个solr实例(端口分别为8983.7574),即一共有2x2=4个节点.4个节点分散在两个分片上,每台机器上存放两个分片的各一个replica,这样等于每台机 ...

  2. myBatis自动生成mapping,dao和model

    myBatis没有自动封装实体类.所以都需要自己编写,但是表数据过多时.编写难度就会增加,错误率也会增加! 所以myBatis提供mybatis-generator-core-1.3.2-bundle ...

  3. 记一次IIS Express 之经典模式与集成模式切换

    Visual Studio 视图 --> 属性窗口.       或者   选中项目   F4  弹出项目的属性窗口进行切换设置..

  4. Tomcat Xms Xmx PermSize MaxPermSize 区别 及 java.lang.OutOfMemoryError: PermGen space 解决

    解决方案 在 catalina.bat 里的 蓝色代码前加入: 红色代码 rem ----- Execute The Requested Command ----------------------- ...

  5. UWP深入学习四:动画及图像

    Storyboarded animations Key-frame animations and easing function animations 缓动函数 缓动函数支持你将自定义数学公式应用到动 ...

  6. 1606: [Usaco2008 Dec]Hay For Sale 购买干草

    Description     约翰遭受了重大的损失:蟑螂吃掉了他所有的干草,留下一群饥饿的牛.他乘着容量为C(1≤C≤50000)个单位的马车,去顿因家买一些干草.  顿因有H(1≤H≤5000)包 ...

  7. Linux上设置nginx支持https

    1.前提条件 如果系统没有自带openssl,则需要安装. 2.生成证书 # .首先,进入你想创建证书和私钥的目录,例如: cd /etc/nginx/ # .创建服务器私钥,命令会让你输入一个口令: ...

  8. php安装gearman扩展实现异步分步式任务

    参考: 1.小喵爱你的博客 2.PHP Manual 依赖 1.gcc44 2.boost >=1.39 3.libevent 4.php5.3+ 5.update ld.so.conf 安装依 ...

  9. 【笔记】DOM探索基础篇(一)

    #DOM探索(前端课程学习笔记)http://www.imooc.com/video/9502 DOM = document + object + model ECMAScript 编写js应遵守的标 ...

  10. [leetcode 226] Invert Tree

    1 题目: Invert a binary tree. 4 / \ 2 7 / \ / \ 1 3 6 9 to 4 / \ 7 2 / \ / \ 9 6 3 1 2 思路: 这是因为谷歌面试xx而 ...