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

              
        }

    }

  • 相关阅读:
    python:利用asyncio进行快速抓取
    os.path.exists(path) 和 os.path.lexists(path) 的区别
    isdigit()判断是不是数字
    switf资源
    51cto培训课程
    51cto运维培训课程
    Python: 在Unicode和普通字符串之间转换
    VC++ CopyFile函数使用方法
    Eclipse断点调试
    AFNetworking2.0后 进行Post请求
  • 原文地址:https://www.cnblogs.com/attilax/p/5964052.html
Copyright © 2020-2023  润新知