无论是java app应用,还是java web应用,基本都会用到读取目标文件中的资源文件,以下整理出常用的资源读取方法,备忘:
/**
* Returns the URL of the resource on the classpath
*
* @param resource
* The resource to find
* @throws IOException
* If the resource cannot be found or read
* @return The resource
*/
public static URL getResourceURL(String resource) throws IOException {
URL url = null;
ClassLoader loader = Resources.class.getClassLoader();
if (loader != null)
url = loader.getResource(resource);
if (url == null)
url = ClassLoader.getSystemResource(resource);
if (url == null)
throw new IOException("Could not find resource " + resource);
return url;
}
/** Returns the URL of the resource on the classpath
* @param loader The classloader used to load the resource
* @param resource The resource to find
* @throws IOException If the resource cannot be found or read
* @return The resource
*/
public static URL getResourceURL(ClassLoader loader, String resource) throws IOException {
URL url = null;
if (loader != null) url = loader.getResource(resource);
if (url == null) url = ClassLoader.getSystemResource(resource);
if (url == null) throw new IOException("Could not find resource " + resource);
return url;
}
/**
* Returns a resource on the classpath as a Stream object
*
* @param resource
* The resource to find
* @throws IOException
* If the resource cannot be found or read
* @return The resource
*/
public static InputStream getResourceAsStream(String resource)
throws IOException {
InputStream in = null;
ClassLoader loader = Resources.class.getClassLoader();
if (loader != null)
in = loader.getResourceAsStream(resource);
if (in == null)
in = ClassLoader.getSystemResourceAsStream(resource);
if (in == null)
throw new IOException("Could not find resource " + resource);
return in;
}
/** Returns a resource on the classpath as a Stream object
* @param loader The classloader used to load the resource
* @param resource The resource to find
* @throws IOException If the resource cannot be found or read
* @return The resource
*/
public static InputStream getResourceAsStream(ClassLoader loader, String resource) throws IOException {
InputStream in = null;
if (loader != null) in = loader.getResourceAsStream(resource);
if (in == null) in = ClassLoader.getSystemResourceAsStream(resource);
if (in == null) throw new IOException("Could not find resource " + resource);
return in;
}
/** Returns a resource on the classpath as a Properties object
* @param resource The resource to find
* @throws IOException If the resource cannot be found or read
* @return The resource
*/
public static Properties getResourceAsProperties(String resource)
throws IOException {
Properties props = new Properties();
InputStream in = null;
String propfile = resource;
in = getResourceAsStream(propfile);
props.load(in);
in.close();
return props;
}
/** Returns a resource on the classpath as a Properties object
* @param loader The classloader used to load the resource
* @param resource The resource to find
* @throws IOException If the resource cannot be found or read
* @return The resource
*/
public static Properties getResourceAsProperties(ClassLoader loader, String resource)
throws IOException {
Properties props = new Properties();
InputStream in = null;
String propfile = resource;
in = getResourceAsStream(loader, propfile);
props.load(in);
in.close();
return props;
}
分享到:
相关推荐
在Java编程语言中,从网络获取文件是一项常见的任务,它涉及到网络编程和I/O操作。以下是一些关于如何使用Java从网络下载文件的关键知识点: 1. **URL类**:Java中的`java.net.URL`类是表示统一资源定位符的对象,...
在Java编程环境中,获取USB外接设备的信息是一项重要的任务,特别是在物联网(IoT)和设备控制应用中。本文将深入探讨如何使用Java来检测、识别并获取USB设备的相关信息。 首先,我们需要理解Java中处理USB设备的基本...
以下是从给定文件中整理出的Java资源网站大全,这些网站不仅提供了丰富的学习资料,还涵盖了最新的技术动态、实践案例以及开发者社区,对Java学习者来说极为宝贵。 ### 1. Sun Developer Network (SDN) Home 网址...
在Java中,如果需要从文本文件中删除特定行,实际上并没有直接提供这样的方法。通常的做法是先将文件中的所有内容读取到内存中,然后根据需要过滤掉不需要的行,最后再将处理后的结果写回原文件或者新的文件中。下面...
在给定文件的内容中,我们可以提取出关于Java面试的多个重要知识点,以下是针对提供的部分内容的详细知识点: 1. Java的“无关性”特性: - Java的宣传口号“Write once, run anywhere”体现了Java的平台无关性,...
这个名为"Java从网络取得文件Java实用源码整理learns"的资源可能包含了一系列用于学习和实践如何使用Java从互联网下载文件的代码示例。下面我们将详细探讨相关的Java知识点。 1. **URL类**: Java中的`java.net....
在Java编程中,掌握一些常用的方法对于提升开发效率至关重要。以下是对标题和描述中提到的一些关键知识点的详细解释: 1. **日期时间处理**:Java提供了`java.util.Date`和`java.time`包来处理日期和时间。`Date`类...
4. **读取和写入数据**:遍历获取的文件列表,使用`FSDataInputStream`逐个读取小文件内容,并通过`SequenceFile.Writer`写入到新创建的SequenceFile中。 5. **更新Hive元数据**:一旦文件合并完成,你需要更新Hive...
本压缩包"java_常用jar包整理.rar"显然是一份集合了Java开发中常用库的资源,可以帮助开发者快速搭建项目环境或解决特定功能需求。以下将详细解析这些常见的jar包及其在Java开发中的作用。 1. **Apache Commons**: ...
6. **java.io.File**:文件操作类,可以创建、删除、重命名文件,获取文件属性等。 7. **java.nio.file.***(Java 7及以上):非阻塞I/O框架,包括`Path`、`Files`、`FileSystem`等,提供了更高效的文件操作。 8. ...
这份“java的相关整理”涵盖了Java的基础操作,对于初学者或不熟悉Java编译环境的人来说是一份宝贵的资源。以下是对Java基础知识的详细说明: 1. **Java安装与环境配置**:在开始编写Java程序前,你需要安装Java ...
这个“Java从网络上下载数据Java实用源码整理learn”集合提供了一些源码示例,可以帮助开发者理解并实现相关功能。下面将详细探讨相关知识点。 1. **URL与URLConnection** - `java.net.URL` 类是Java提供的用于...
在Java编程语言中,读取TXT文件是一项基本且常用的操作。通常,我们使用`BufferedReader`类配合`FileInputStream`来实现这一目标。具体步骤包括: 1. 创建一个指向TXT文件的`FileInputStream`对象。 2. 使用`...
本资源包集合了使用Java进行Excel读取、写入等操作所需的全部jar文件,且这些jar文件已更新至最新版本,支持Excel 2013的格式。以下是对这些操作的详细说明: 一、读取Excel 1. 导入必要的POI库:首先,你需要导入...
下面我们将深入探讨Java中的文件上传方法以及`FileManagerAction` 类可能涉及的关键知识点。 首先,Java文件上传主要依赖于Servlet API,特别是`Part` 接口,这是在Servlet 3.0及以上版本中引入的,用于处理...
Java中没有析构方法的概念,但可以使用`finalize()`方法进行资源清理。 #### 第五章:数组和枚举 **一、数组基础** 数组是一种存储同类型数据的容器。数组的创建和初始化方式多样,支持一维数组、多维数组等。 *...
"下载及使用说明.txt"文件很可能是提供下载和解压指南的文档,它可能包括了获取资源的具体步骤、解压方法以及如何运行或导入源码到开发环境中的说明。遵循这些指导,开发者可以顺利地获取并利用这些源码进行学习。 ...
这份"JAVA核心知识点整理——java自学资料.rar"包含了一份详细的Java学习资源,旨在帮助已经具备一定Java基础知识的开发者进一步提升技能,深入理解Java的底层机制。以下是这份资料可能涵盖的一些核心知识点和学习...
【压缩包子文件的文件名称列表】中的"下载及使用说明.txt"很可能包含了获取和使用课程资料的具体步骤,学习者应仔细阅读,以确保能正确地访问和利用所有提供的资源。"更多Java资料学习.url"可能是一个链接,指向更多...
"140个java源码实例源码整理"这个资源集合显然提供了大量的Java编程示例,可以帮助初学者和经验丰富的开发者深入理解Java的核心概念以及实际应用。 首先,Java源码实例是学习编程的重要途径,它们提供了实际的代码...