zoukankan      html  css  js  c++  java
  • paip兼容windows与linux的java类根目录路径的方法

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

              
        }

    }

  • 相关阅读:
    替换掉一段 以 $ 开头 $ 结尾 的字符串
    react 中使用 codemirror2(在线代码编辑器)读取 yaml 文件
    第四篇:前端读取文件 | FileReader 对象及其属性
    umi 如何使用 Mock 模拟数据
    loading 动画 系列
    网站页面上标签页小图标的添加方式
    Linux tail命令
    Python实现字符串反转的方法
    Redis 配置远程访问
    消息队列
  • 原文地址:https://www.cnblogs.com/attilax/p/15199296.html
Copyright © 2011-2022 走看看