易截截图软件、单文件、免安装、纯绿色、仅160KB

获取java资源的方法

 获取java资源的方法
 
     在开发java程序的过程中,我们经常要做的一件事就是获取资源。那么什么是资源呢?说白了,在计算机里那就是一堆数据。只是这堆数据对我们的java程序有多种表现形式,一般来说有File,URL,InputStream等等。而单就文件这一项就有很多种:配置文件,java类文件,jps文件,图片、css、js文件等等。面对这林林总总的资源,我们在设计一个读取资源的接口时,就需要针对不同形式的资源提供方法,这样就导致我们的接口还是与实际的资源形式绑定在一起,未能完全的抽象。另外,在java程序中资源的存放位置也是各异的。有的存放在classpath中,有的存放在文件系统中,有的存放在web应用中。而对于不同位置的资源,java程序获取这些资源的方法各有不同。
    A、获取classpath中的资源:
    Java代码
    URL url = this.getClass().getResource("resource_name");
    URL url = this.getClass().getClassLoader().getResource("resource_name");
    URL url = Thread.currentThread().getContextClassLoader().getResource("resource_name");
    那么在jdk中为什么又提供了三种方式来获取classpath下的资源呢?这其中是有些来头的。
    第一行代码中是利用Class类的实例来获取,第二行代码是使用加载当前类的classloader来获取。看下jdk中的源代码会发现class类的实例最后还是委托加载他的classloader来获取资源的。
    Java代码
    public java.net.URL getResource(String name) {
    name = resolveName(name);
    ClassLoader cl = getClassLoader0();
    if (cl==null) {
    // A system class.
    return ClassLoader.getSystemResource(name);
    }
    return cl.getResource(name);
    }
    从上面的代码中可以看出,对于资源的加载并没有像类加载所采用的双亲委托机制。而是当前类的classloader不为null的情况下先从当前类的classloader中加载资源。而只有当前类的classloader为null的时候才从system classloader中去加载资源。这样可以方便我们自定义配置类覆


相关文档:

JNA实现Java调用Fortran

在成功实现Java调用C++之后,接下来想到能否通过JNA实现Java调用Fortran,今天试验了一下,还是比较容易的。
网上有一个Java调用F95的例子,但是我考虑不仅要实现F95的调用,还要实现F77的调用,所以费了一些周折。
问题的关键在于F77为过程名自动添加了一个尾部的下划线,所以sub1这个过程,到Java一端,就变成了sub1_, ......

Java 读取属性文件问题

InputStream stream;
Properties prop = new Properties();// 属性集合对象
stream = getClass().getResourceAsStream("NcJdbc.properties");
prop.load(stream);
stream.close();// 关闭流
String databaseName=prop.getProperty("jdbc.databaseName");
InputStream stream;
Properties prop = new Properties(); ......

二叉树的java构造算法

参考网上的一些资料,自己研读了一番,用java构造了一个二叉树类,并带有测试的main方法,如有不足请大家多多指教。
/**
* 二叉树构造算法
* 二叉树定义:是度为2的有序树,它的特点是每个节点至多有两棵子树
* 我们的算法就是根据二叉树的递归定义而来,下面是二叉树的递归定义:
* n(n>=0)个节点的有限集。它 ......

Java EE和Domino系统间跨域SSO的实现

1. SSO需求
单点登录(Single Sign On, SSO)是企业应用集成中最常见的需求。异构系统间往往都有各自的用户管理和身份验证机制,为
避免用户在进行系统切换时频繁输入用户名和密码,因此必须要实现单点登录。
2. SSO原理
说到SSO的原理,先得说一般Web应用的身份验证原理。Web身份验证之所以能成为问题主要在于HTTP协议 ......

java 时间处理类

1. Java计算时间依靠1970年1月1日开始的毫秒数.                                          &nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号