Class.getResource()方法的使用】的更多相关文章

自从转投Java阵营后,一直发下Java程序的路径读取异常麻烦,因此查阅了比较多的版本内容,整合了一份自己的学习笔记.主要使用Class及通过ClassLoader来动态获取文件路径. 查阅链接如下: Class及ClassLoader下获取Resource原理                               Class及ClassLoader下获取Resource图文解析 首先,在IDE下面写的.java文件最终会被编译成一个.class的类.上面两种方法去读取文件都是基于.cla…
项目经常会读取一些配置文件, 因此getResource方法便能够起到重要作用 使用时主要是两种方法, 一个是字节码文件Class类, 另一个是ClassLoader类加载器 使用Class类时有两种使用方式: 1. 使用"/"  获取到的是classpath路径 2. 不使用"/" 这就是相对路径 ClassLoader类 没有"/"的写法, 获取到的就是classpath路径 测试代码 public class GetResourceTest…
我们之前使用路径总是有点不知道怎么用,发现别人使用Class.getResource()方法,好像挺不错的样子.于是看看博客,简单学习下. 参考链接:http://blog.csdn.net/lcj8/article/details/3502849 几点总结下: jsp里面:request对象的contextPath方法得到的是“工程名”.应该说是链接的根路径,作用于外部访问,对于jsp而言相当于webapp的位置 servlet里面:getRealPath可以得到绝对路径 通过类得到资源:  …
自从转投Java阵营后,一直发下Java程序的路径读取异常麻烦,因此查阅了比较多的版本内容,整合了一份自己的学习笔记.主要使用Class及通过ClassLoader来动态获取文件路径. 查阅链接如下: Class及ClassLoader下获取Resource原理                               Class及ClassLoader下获取Resource图文解析 首先,在IDE下面写的.java文件最终会被编译成一个.class的类.上面两种方法去读取文件都是基于.cla…
最近在看写Spring的源代码,里面有好多地方都用到了Class和ClassLoader类的getResource方法来加载资源文件.之前对这两个类的这个方法一知半解,概念也很模糊,这边做下整理,加深理解. PS:本博客主要参考了Java中如何正确地从类路径中获取资源,但是为了加强理解记忆自己还是将其中的重点按照自己的风格排版记录了下,可以点击链接查看原文. 访问资源的主要方式 在Java中,通常可以通过以下方式来访问资源: Class的getResource方法; ClassLoader的ge…
如图,eclipse中我的包结构为:,我在 spt.app.MainFrame 中可以通过一下代码段使用资源: public static Object obj = ImageIconProxy.class.getClassLoader().getResource("img/absent.png"); 但是我们不能在A类中,引用别的类声明类似上面的方法,例如,我们再 spt.proxy.ImageIconProxy 类中声明: public static Object obj = Im…
1.属性文件如下: 10001=错误 2.文件读取主要代码 // getResource方式 URL resourceURI = getClass().getClassLoader().getResource(""); // getResourceAsStream方式 InputStream stream = getClass().getClassLoader().getResourceAsStream("errorCode.properties"); logger…
public class Test { public void run() { // TODO Auto-generated method stub System.out.println("测试========>"); String s1=this.getClass().getResource("").getPath(); String s2=this.getClass().getResource("/").getPath(); Syste…
1 package test; 2 3 import java.io.*; 4 import java.util.Scanner; 5 6 public class TestResource { 7 public TestResource() throws IOException{ 8 InputStream url = this.getClass().getResourceAsStream("Hello.txt"); 9 //此处的Hello.txt必须与class文件在一个目录下…
from: http://andyzhu.blog.51cto.com/4386758/775836/ import java.net.URL; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class TestMain { public static void main…
文本转载于:http://blog.csdn.net/yinkai1205/article/details/8638864 如下代码所示: [java] view plaincopy private int getStatusBarHeight() { Class<?> c = null; Object obj = null; Field field = null; int x = 0, sbar = 0; try { c = Class.forName("com.android.i…
JAVA文件中获取路径及WEB应用程序获取路径方法 1. 基本概念的理解 `绝对路径`:你应用上的文件或目录在硬盘上真正的路径,如:URL.物理路径 例如: c:/xyz/test.txt代表了test.txt文件的绝对路径: http://www.sun.com/index.htm也代表了一个URL绝对路径: `相对路径`:相对与某个基准目录的路径,包含Web的相对路径(HTML中的相对目录). 例如: 在Servlet中,"/"代表Web应用的根目录,和物理路径的相对表示. 例如:…
假设项目路径是E:\Workspaces\MyProgram\FilePath 1.使用System.getProperty("user.dir"),获得项目的根路径,返回String:E:\Workspaces\MyProgram\FilePath 2.使用File对象提供的获取绝对路径的方法获取根路径,new File("").getAbsolutePath(),返回String:E:\Workspaces\MyProgram\FilePath 3.可以使用Fi…
    在JSP中,页面链接是使用web路径的,但如果JavaBean要访问本地文件读取配置信息的话,是需要文件的本地路径的.如果你在写 Bean的时候直接将本地路径写进去,那网站的路径就不能变化,丧失可移植性.下面就提供一个比较笨的方法,实现网站文件读取的路径无 关, 要做到路径无关,把整个网站文件夹拷到web服务器目录中就能直接运行 才是硬道理.废话少说,切入正题. JSP网站中,配置文件,JavaBean,其它文件,都是存储在WEB-INF文件夹中的. 我们可以将获取文件父目录的代码放到构…
1. getClass().getResource() 第一步,getClass().getResource(path)是有一个路径参数的,这个路径会先被转换成"类所在的包名称+path",举个例子,当调用com.test.A.class.getResource("config.properties")时,最终这个path会被转换为"com\test\config.properties". 第二步,便会调用类的类加载器对象的getResource…
/** *@author blovedr * 功能: java绘图原理------在窗口界面(或面板上)画出一张或多张图片问题解决方法 * 日期: 2018年4月28日     16:20 * 注释: 学习java的点点记录, 欢迎各位大神批评指导与交流. */ package com.test1; import javax.swing.*; import java.awt.*; public class Demo_1 extends JFrame{ MyPanel mp = null;  //…
在读取本地资源的时候我们经常需要用到输入流,典型的场景就是使用Druid连接池时读取连接池的配置文件.Java为我们提供了读取资源的方法getResourceAsStream(),该方法有三种: Class类中的 ClassLoader类中的 ServletContext接口中的 本文主要利用Class类和ClassLoader类中的方法进行对比 一.API Class类中的: 根据指定的名称查找资源,查找资源的规则是由定义此类的类加载器实现的,这个方法委托此对象的类加载器.如果这个对象是由bo…
原文同步发表至个人博客[夜月归途] 原文链接:http://www.guitu18.com/se/java/2019-02-22/29.html 作者:夜月归途 出处:http://www.guitu18.com/ 本博客中未标明转载的文章归作者夜月归途和博客园所有. 欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 在Java中经常会需要读取各种各样的配置文件,在获取资源时,一般会用到 Class.getResource() 或 Clas…
问题描述 当Java调用getResource方法,但是因为路径中含有中文时,得不到正确的路径 问题分析 编码转换问题 当我们使用ClassLoader的getResource方法获取路径时,获取到的路径被URLEncoder.encode(path,"utf-8")编码了,当路径中存在中文和空格时,他会对这些字符进行转换,这样,得到的往往不是我们想要的真实路径,所以我们可以调用URLDecoder.decode()方法进行解码,以便得到原始的中文及空格路径. 相关知识 URLEnco…
1. 前言 在Java中获取资源的时候,经常用到getResource和getResourceAsStream,本文总结一下这两种获取资源文件的路径差异. 2.Class.getResource(String path) path不以'/'开头时,默认是从此类所在的包下取资源: path以'/'开头时,则是从项目的ClassPath根下获取资源.在这里'/'表示ClassPath的根目录. JDK设置这样的规则,是很好理解的,path不以'/'开头时,我们就能获取与当前类所在的路径相同的资源文件…
本文是对前几天的"JDBC连接Access数据库的几种方式"这篇的升级.因为在做一些小项目的时候遇到的问题,因此才决定写这篇博客的.昨天已经将博客公布了.可是后来经过一些验证有点问题,所以今天改了一下又一次的公布了 老师决定期末考试採用access数据库实现增删改查.我觉得如今的我已经没有问题了.可是曾经都是在JSP页面中连接access数据库,不管是下面的那种方式都进行了连接的练习,可是如今我想让我的项目中的訪问access数据库的java代码,封装到DAO中,在DAO中连接数据库,…
1. 前言 在Java中获取资源的时候,经常用到getResource和getResourceAsStream,本文总结一下这两种获取资源文件的路径差异. 2.Class.getResource(String path) path不以'/'开头时,默认是从此类所在的包下取资源: path以'/'开头时,则是从项目的ClassPath根下获取资源.在这里'/'表示ClassPath的根目录. JDK设置这样的规则,是很好理解的,path不以'/'开头时,我们就能获取与当前类所在的路径相同的资源文件…
项目中, 有时候要读取当前classpath下的一些配置文件. 之前用的读取配置文件的代码如下 public static Properties loadPropertiesFile(String fileName){ Properties prop = new Properties(); InputStream inStream = ClassLoader.getSystemResourceAsStream(fileName); if(null!=inStream){ try { prop.l…
原文链接:https://blog.csdn.net/Activity_Time/article/details/98034409 1. URL 菜鸟教程:Java URL处理 通常推荐对http等协议进行使用,若操作(file:)部分属性将无意义,建议getFile(). ***** 相关:URLConnections 类 可以打开连接进行IO ***** 通过getResource方法可以获得相对于classPath的文件的URL *** 2. File 菜鸟教程:Java File类 JA…
看这篇文章之前可以先了解之前的跟踪流程,https://www.jianshu.com/p/4934233f0ead 代码过宽,可以shift + 鼠标滚轮 左右滑动查看 AbstractApplicationContext类refresh()方法中的第二个调用方法obtainFreshBeanFactory()的跟踪. @Override public void refresh() throws BeansException, IllegalStateException { synchroni…
时间:2016-11-11 15:07 --Servlet体系Servlet(interface):    实现类:GenericServlet.HttpServletServletConfig(interface):    实现子类:GenericServletGenericServlet(abstract):    实现接口:Servlet.ServletConfig    直接子类:HttpServletHttpServlet(abstract):    实现接口:Servlet.Serv…
参考源 https://www.bilibili.com/video/BV1tR4y1F75R?spm_id_from=333.337.search-card.all.click https://www.bilibili.com/video/BV12Z4y197MU?spm_id_from=333.999.0.0 <Spring源码深度解析(第2版)> 版本 本文章基于 Spring 5.3.15 Spring IOC 的核心是 AbstractApplicationContext 的 ref…
我们知道Spring的IoC起到了一个容器的作用,其中装得都是各种各样的Bean.同时在我们刚刚开始学习Spring的时候都是通过xml文件来定义Bean,Spring会某种方式加载这些xml文件,然后根据这些信息绑定整个系统的对象,最终组装成一个可用的基于轻量级容器的应用系统. Spring IoC容器整体可以划分为两个阶段,容器启动阶段,Bean实例化阶段.其中容器启动阶段主要包括加载配置信息.解析配置信息,装备到BeanDefinition中以及其他后置处理,而Bean实例化阶段主要包括实…
Freemarker 程序开发 现在web开发中,多使用freemarker 来描述页面.通常会使用的macro来定义各种组件,从而达到UI组件的复用.结合使用其它的指定,可快速的描述一个html页面.那么能否将freemarker用在其它地方呢?又是如何将freemarker用到其它地方呢.本篇文章就来介绍一下freemarker的用法. 首先回答第一个问题,是肯定能够用到其它地方的. 有关第二个问题,则在看完下面的内容后,答案自明. Freemarker 程序开发 1.入门 2.数据模型 2…
原文出处: http://blog.zhaiyifan.cn/2015/09/10/Android%E6%8D%A2%E8%82%A4%E6%8A%80%E6%9C%AF%E6%80%BB%E7%BB%93/ 背景 纵观现在各种Android app,其换肤需求可以归为 白天/黑夜主题切换(或者别的名字,通常2套),如同花顺/自选股/天天动听等,UI表现为一个switcher. 多种主题切换,通常为会员特权,如QQ/QQ空间. 对于第一种来说,目测应该是直接通过本地theme来做的,即所有图片/…