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. Struts2复习笔记

    一.Struts2的获得 Struts2的官网是http://struts.apache.org/,需要的同学可以自己去官网上下载. 二.Struts2的配置 以动态web项目为例,讲解配置Strut ...

  2. 比较两个Long对象值

    比较两个Long对象的值是否相等,不可以使用双等号进行比较,(long int Integer可以用双等号进行比较)可以采用如下方式: 1.使用equals方法进行比较 Long a=new Long ...

  3. jQuery.cookie

    了解cookie先了解一下知识点: Navigator (一般是浏览器)对象包含有关浏览器的信息. Navigator userAgent:是一个只读字符串,声明了浏览器用于HTTP请求的用户代理头的 ...

  4. oracle删除数据恢复

    分为两种方法:scn和时间戳两种方法恢复. 一.通过scn恢复删除且已提交的数据 1.获得当前数据库的scn号 select current_scn from v$database; (切换到sys用 ...

  5. button 边框

    [_saveButton.layer setMasksToBounds:YES]; [_saveButton.layer setCornerRadius:8.0]; //设置矩圆角半径 [_saveB ...

  6. linux下挂载新硬盘

    挂载好新硬盘后输入fdisk -l命令看当前磁盘信息 1.创建新硬盘分区 用fdisk  + 路径 进行分区 进入磁盘,对磁盘进行分区 #fdisk /dev/sdb Command (m for h ...

  7. 完美解决IE8有两个进程的问题

    完美解决IE8有两个进程的问题,照以下方法设置后就只有一个进程了,没有什么负影响哦! 方法: 1.win+R,在运行框里输入:gpedit.msc,回车进入组策略设置. 2.依次展开:计算机配置——管 ...

  8. 解决ubuntu bash: cd: ~:Permission denied

    cd /usr/local/hadoop 报错:bash: cd: /usr/local/hadoop:Permission denied 输入指令: /usr/local/hadoop 原因是没有权 ...

  9. .net web获取自己的ip地址

    using System;using System.Text;using System.Web;using System.Text.RegularExpressions; namespace MxWe ...

  10. 配置org.springframework.scheduling.quartz.CronTriggerBean(转)

    注意:定时器方法里如果执行动作的时间超出了定时器的周期,将会产生两个方法同时执行的情况. 一个Quartz的CronTrigger表达式分为七项子表达式,其中每一项以空格隔开,从左到右分别是:秒,分, ...