getResourceAsStream:查找具有给定名称的资源。返回 InputStream
getResource:查找带有给定名称的资源路径。返回URL
简单示例:(注:任何一个类都有一个getClass()的方法)
public class Test {
public void getResource(String url){
InputStream stream = getClass().getResourceAsStream(url);
System.out.println(getClass().getResource(url));
byte[] line = new byte[1024*1024];
try {
stream.read(line);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String str = new String(line);
System.out.println(str.trim());
}
public static void main(String[] args) {
new Test().getResource("/io/aaa.txt");
}
}
运行结果:
file:/D:/IBM/workspace/HtmlParser/io/aaa.txt
abceefghijklmn
第一行得到的是aaa.txt的路径,第二行是aaa.txt的内容。
需要注意的是必须有前面的“/”,代表的是工程目录,否则找不到。
分享到:
相关推荐
本篇文章将详细探讨Java提供的两种主要方法:`Class.getResource`和`Class.getResourceAsStream`,用于加载类路径下的资源文件。 首先,`Class.getResource`方法返回一个`URL`对象,它表示资源的位置。这个方法接受...
在读取资源文件时,通常使用 getResource() 或 getResourceAsStream() 方法。两种方法都可以读取资源文件,但是它们的使用场景和返回值不同。 getResource() 方法返回 URL 对象,表示资源文件的路径。如果资源文件...
在静态方法中,可以使用 `Test.class.getResource("").getPath()`,而在非静态方法中,可以使用 `this.getClass().getResource("").getPath()` 或 `Test.class.getResource("").getPath()`。这两个方法都可以获取...
- 当使用`Class.getResource`或`Class.getResourceAsStream`时,如果路径不以 `/` 开头,那么查找将从调用该方法的类所在的包开始。 - 当使用`ClassLoader.getResource`或`ClassLoader.getResourceAsStream`时,路径...
总结来说,从JAR包中读取图片涉及对Java类路径的理解,以及正确使用`getResource()`或`getResourceAsStream()`方法。在实际项目中,这通常是通过封装在静态方法或工具类中,以便在多个地方复用。对于开发者来说,...
- **方法**:类加载器提供了`getResource`和`getResourceAsStream`等方法用于查找和读取资源。 2. **资源文件的路径表示**: - 在jar包内部,资源文件的路径通常是以`/`开头的相对路径表示。例如,如果资源文件...
- 如果你的资源文件是Java项目的一部分,你可以在类路径中直接导入它们,然后使用`getClass().getResource()`或`getClass().getResourceAsStream()`方法。 4. 文件系统访问 - 如果资源文件位于文件系统的某个位置...
- 使用`Class.getResource()`或`Class.getResourceAsStream()`方法: - `getResource()`返回一个`URL`对象,适合处理网络或磁盘上的资源。 - `getResourceAsStream()`返回一个`InputStream`,适用于读取二进制...
从Java JAR文件包中读取资源是Java...通过合理利用`getResource`和`getResourceAsStream`等方法,结合正确的资源路径和类加载器,可以高效地实现这一目标。理解这些概念对于构建可移植且健壮的Java应用程序至关重要。
你可以通过`Thread.currentThread().getContextClassLoader().getResource()`或`YourClass.class.getResource()`来获取`URL`对象,然后使用`InputStream`读取资源内容。例如: ```java URL resource = getClass()....
1. **Class.getResource() 和 Class.getResourceAsStream()**:这两个方法允许我们通过类加载器获取到类路径下的资源。例如,`getClass().getResource("/filename.txt")`返回一个URL,`getClass()....
文档中提到了使用`TestURL().class.getResource("")`方法来获取资源路径。在Java中,类加载器会使用`getResource`方法来定位类路径下的资源。此方法使用一个空字符串表示当前类的路径。当在类路径中的资源位于不同的...
当你需要获取与类相关的资源文件的绝对路径时,可以使用 `Class.getResource()` 或 `Class.getResourceAsStream()` 方法。这些方法返回一个 `java.net.URL` 对象,可以通过调用 `getPath()` 来获取路径字符串。例如...
使用`ClassLoader`的`getResourceAsStream`方法可以轻松读取这些文件。例如: ```java InputStream in = getClass().getResourceAsStream("/config.properties"); Properties props = new Properties(); props....
- **在使用`getResource()`方法时**,如果路径不以`/`开头,则默认是从调用该方法的类的所在位置开始查找,而以`/`开头则表示从类路径的根目录开始查找。 #### 总结 通过以上分析可以看出,在Java中处理文件路径时...
在Java中,可以使用ClassLoader的`getResource()`和`getResourceAsStream()`方法,以相对路径的方式查找类路径下的资源。 四、相对于当前用户目录的相对路径 例如:相对于System.getProperty("user.dir")返回的路径...
例如,`ClassLoader`类的`getResource(String name)`和`getResourceAsStream(String name)`方法,以及`ResourceBundle`类的`getBundle(String path)`都是基于此类路径查找资源。 然而,尽管相对路径在使用上更为...
2. **使用`Thread.currentThread().getContextClassLoader().getResource("")`**: - 获取当前线程上下文类加载器的资源路径。 - 示例代码: ```java System.out.println(Thread.currentThread()....
- 在使用`getResource()`或`getResourceAsStream()`方法时,路径字符串中的"/"表示JAR文件的根目录。如果省略了前面的斜杠,则路径将会相对于类的位置。 - 确保资源文件的名称和路径与程序中指定的路径完全一致,...