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. ubuntu 16.04软件源

    来源:模板:16.04source   deb http://cn.archive.ubuntu.com/ubuntu/ xenial main restricted universe multive ...

  2. 用AXIS2发布WebService的方法

    Axis2+tomcat6.0 实现webService 服务端发布与客户端的调用. 第一步:首先要下载开发所需要的jar包 下载:axis2-1.6.1-war.zip http://www.apa ...

  3. [golang]反射的用处--代码自动生成

    背景: go语言处理db.json的时候,具体代码的变量定义和db字段.json输出的时候可能不一样. 这个时候,我们需要用tag的方式来进行定义. 例如: type MyStruct struct ...

  4. WINDOWS的NTP配置

    将下面内容复制到记事本,保存成ntp.bat net stop w32Time REG ADD HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeP ...

  5. Harris角点检测

    代码示例一: #include<opencv2/opencv.hpp> using namespace cv; int main(){ Mat src = imread(); imshow ...

  6. cocos2d-x源码分析(1)

    class CC_DLL CCCopying { public: virtual CCObject* copyWithZone(CCZone* pZone); }; class CC_DLL CCZo ...

  7. hdoj 1874 畅通工程续

    Problem Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行 ...

  8. nginx 从vagant挂载目录中加载nginx.conf配置进行开机启动

    nginx从vagrant挂载目录中读取配置启动,将nginx加入开机启动项!开机启动的时候nginx会因为加载不了配置导致启动失败! 原因是开机启动nginx服务在vagrant挂载之前,导致无法正 ...

  9. 比较有价值的参考文档-----------------URL

    http://www.wendangku.net/doc/f7b4349108a1284ac85043bf.html             曙光服务器的IPMI http://noob.blog.1 ...

  10. android --- Afianl框架里面的FinalBitmap加载网络图片

    Afinal里面FinalBitmap:用于显示bitmap图片,而无需考虑线程并发和oom等问题. 1.测试请求 使用网页打开http://avatar.csdn.net/C/6/8/1_bz419 ...