Java里读取资源文件时,经常用到的两个方法,但是经常会用错的方法
方法说明如下
public URL getResource(String name)
Finds the resource with the given name. A resource is some data (images, audio, text, etc) that can be accessed by class code in a way that is independent of the location of the code.
The name of a resource is a '/'-separated path name that identifies the resource.
这句明确说明,name参数是以‘/’来作为路径分隔符,不是File.separator,如果使用了File.separator,正确的路径也返回null
This method will first search the parent class loader for the resource; if the parent is null the path of the class loader built-in to the virtual machine is searched. That failing, this method will invoke findResource(String) to find the resource.
Parameters:
name - The resource name
Returns:
A URL object for reading the resource, or null if the resource could not be found or the invoker doesn't have adequate privileges to get the resource.
Since:
方法说明如下
引用
public URL getResource(String name)
Finds the resource with the given name. A resource is some data (images, audio, text, etc) that can be accessed by class code in a way that is independent of the location of the code.
The name of a resource is a '/'-separated path name that identifies the resource.
这句明确说明,name参数是以‘/’来作为路径分隔符,不是File.separator,如果使用了File.separator,正确的路径也返回null
This method will first search the parent class loader for the resource; if the parent is null the path of the class loader built-in to the virtual machine is searched. That failing, this method will invoke findResource(String) to find the resource.
Parameters:
name - The resource name
Returns:
A URL object for reading the resource, or null if the resource could not be found or the invoker doesn't have adequate privileges to get the resource.
Since:
发表评论
-
charles4.2下载与破解方法以及配置https
2020-02-26 09:03 2有两个抓包工具 一个是fidder,一个是charles,两个 ... -
序列号批量生成算法
2019-12-05 14:11 0业务处理过程当中,经常需要生成订单号、序列号等,简单的可 ... -
使用ANTLR处理文本
2019-08-28 17:32 763引用 使用 Antlr 处理文本 https://www.ib ... -
解决maven-metadata.xml文件下载卡死问题
2019-04-11 14:02 3975http://192.168.1.110:8081/nexus ... -
rsync备份和删除指定文件
2018-01-02 10:23 2044文件异地备份时,需要将本地文件合并到服务器上,且不能删除服务器 ... -
javaLocale格式化日期和数字
2017-08-25 09:26 865public static void main(Strin ... -
centos6 tomcat 启动脚本 tomcat服务
2017-08-23 11:24 1438系统自动启动tomcat 复制该脚本到/etc/init.d/ ... -
win7 命令行改IP和DNS
2016-12-21 18:35 732使用管理员权限运行CMD //改DNS netsh ... -
jenkins中集成sonar,使用findbug、pmd、checkstyle提升代码质量
2016-09-29 14:58 6166实际上jenkins单独也 ... -
jenkins 集成sonar
2016-09-18 10:14 0jenkins集成sonar可以从插件中心直接更新安装 son ... -
activeMQ5.14权限配置
2016-08-17 13:47 2669activeMQ默认的消息队列没有用户名和密码,可以直接通过T ... -
solaris 使用解压版的jdk
2016-07-27 15:17 761solaris上配置jdk其实也很简单 由于solaris有 ... -
solaris tomcat开机启动
2016-07-27 16:17 618创建文件夹/var/svc/manifes ... -
HibernateTemplate Vs HibernateDaoSupport Vs Direct Hibernate Access
2016-07-26 11:07 732http://forum.spring.io/forum/sp ... -
spring mvc mybatis will not be managed by Spring
2016-07-20 17:30 9876项目运行时发现事务提交不完整,回滚时只能回滚一半。 系统配置 ... -
java里判断一点是否在某个区域
2016-06-03 17:47 1830import java.awt.geom.Path2D ... -
12306的技术升级
2016-04-20 16:17 1026升级的核心是余票查询的升级,余票查询使用存储过程,sybase ... -
工作流的123
2016-04-20 12:58 571三分钟了解Activity工作流 工作流一般会给开发人员提供流 ... -
sping mvc 使用@Value注解为controller注入值
2016-04-17 17:39 10830spring mvc 里有两个配置文件, 第一个,为sprin ... -
googleapis.com域名访问慢的解决办法
2016-04-13 12:09 9681、安装火狐 2、安装插件ReplaceGoogleCDN
相关推荐
在读取资源文件时,通常使用 getResource() 或 getResourceAsStream() 方法。两种方法都可以读取资源文件,但是它们的使用场景和返回值不同。 getResource() 方法返回 URL 对象,表示资源文件的路径。如果资源文件...
而`KeyValueUtils.java`可能提供了读取和解析键值对文件的静态方法,例如: ```java import java.io.IOException; import java.io.InputStream; import java.util.Properties; public class KeyValueUtils { ...
- 一旦有了`InputStream`,我们可以使用Java的IO流操作来读取和处理图片数据。例如,可以使用`ImageIO`类读取图片: ```java BufferedImage image = ImageIO.read(is); // 然后可以对image对象进行进一步的操作...
- 如果你的资源文件是Java项目的一部分,你可以在类路径中直接导入它们,然后使用`getClass().getResource()`或`getClass().getResourceAsStream()`方法。 4. 文件系统访问 - 如果资源文件位于文件系统的某个位置...
本篇文章将详细探讨Java提供的两种主要方法:`Class.getResource`和`Class.getResourceAsStream`,用于加载类路径下的资源文件。 首先,`Class.getResource`方法返回一个`URL`对象,它表示资源的位置。这个方法接受...
- **方法**:类加载器提供了`getResource`和`getResourceAsStream`等方法用于查找和读取资源。 2. **资源文件的路径表示**: - 在jar包内部,资源文件的路径通常是以`/`开头的相对路径表示。例如,如果资源文件...
2. **getResource() 和 getResourceAsStream()**: 这两个方法是ClassLoader和类的Class对象提供的。`getResource()`返回一个URL,用于定位资源的路径;`getResourceAsStream()`则返回一个InputStream,可以直接读取...
你可以通过`Thread.currentThread().getContextClassLoader().getResource()`或`YourClass.class.getResource()`来获取`URL`对象,然后使用`InputStream`读取资源内容。例如: ```java URL resource = getClass()....
总结来说,从JAR包中读取图片涉及对Java类路径的理解,以及正确使用`getResource()`或`getResourceAsStream()`方法。在实际项目中,这通常是通过封装在静态方法或工具类中,以便在多个地方复用。对于开发者来说,...
Java提供了多种方法来访问类路径下的资源,其中使用最多的是ClassLoader的getResource和getResourceAsStream方法。 在提供的文件中,通过一个名为ResourceLoadUtil的工具类展示了如何读取类路径下的资源文件。这个...
从Java JAR文件包中读取资源是Java...通过合理利用`getResource`和`getResourceAsStream`等方法,结合正确的资源路径和类加载器,可以高效地实现这一目标。理解这些概念对于构建可移植且健壮的Java应用程序至关重要。
`ServletContext`提供了`getResourceAsStream()`和`getResource()`方法。例如: ```java ServletContext context = servlet.getServletContext(); InputStream inputStream = context.getResourceAsStream("/WEB-...
- 当使用`Class.getResource`或`Class.getResourceAsStream`时,如果路径不以 `/` 开头,那么查找将从调用该方法的类所在的包开始。 - 当使用`ClassLoader.getResource`或`ClassLoader.getResourceAsStream`时,路径...
4. **尝试使用Resources类**:自Java 6开始,`java.nio`包下的`Resources`类提供了一种更简洁的方式来获取类路径中的资源,如`Resources.getResource("filename")`。 5. **资源的国际化**:在处理多语言环境时,...
在获取资源文件时,我们通常会使用类加载器的getResource()或getResourceAsStream()方法。这两个方法可以从类路径中查找指定的资源文件,并返回一个URL对象或输入流,便于我们进一步处理。例如,获取名为"config....
- 在使用`getResource()`或`getResourceAsStream()`方法时,路径字符串中的"/"表示JAR文件的根目录。如果省略了前面的斜杠,则路径将会相对于类的位置。 - 确保资源文件的名称和路径与程序中指定的路径完全一致,...
3. `Resources`类:Apache Commons Lang库中的`Resources`类提供了方便的方法,如`Resources.getResource()`和`Resources.asByteSource()`,用于更便捷地读取`jar`内的资源。 4. Spring框架:Spring框架的`Resource...
这些文件可能是JSON、XML、YAML或纯文本格式,根据语言和框架的不同,读取方式也会有所差异。 1. **Java**:在Java中,如果使用Maven或Gradle构建工具,配置文件会被自动复制到类路径下的`resources`目录。使用`...
使用`getResource()`或`getResourceAsStream()`方法能更好地适应这些变化。 7. **异常处理**: - 在尝试读取文件时,应该始终处理可能出现的异常,如`FileNotFoundException`,确保程序在文件不存在或无法访问时...
当需要在运行时动态加载资源时,还可以使用`ClassLoader.getResource()`或`ClassLoader.getResourceAsStream()`,这样可以利用当前线程的上下文类加载器,适应更复杂的类加载环境。 在打包过程中,确保资源被正确...