`

java 路径 getResource和getResourceAsStream

    博客分类:
  • java
阅读更多

http://ouyangfei0426.iteye.com/blog/1020232

 

src(源文件夹) -- classpath

┣━11.properties

┗━myspider(myspider包)
         ┃
         ┣━22.properties
         ┗━Test.java

 

Java代码  收藏代码
  1. package myspider;  
  2.   
  3. import java.io.UnsupportedEncodingException;  
  4.   
  5. /** 
  6.  * 
  7.  * @author mark 
  8.  */  
  9. public class Test {  
  10.     public static void main(String[] args) throws UnsupportedEncodingException{  
  11.         Test t=new Test();  
  12.         //文件名前不加“/”,则表示从当前类所在的包下查找该资源。如下则表示的是从包myspider下查找22.properties文件资源。  
  13.         System.out.println("1:"+t.getClass().getResourceAsStream("22.properties"));//输出java.io.BufferedInputStream@61de33  
  14.   
  15.         //文件名前加了“/”,则表示从类路径下也就是从classes文件夹下查找资源,如下表示从classes文件夹下查找22.properties文件资源。  
  16.         System.out.println("2:"+t.getClass().getResourceAsStream("/22.properties"));//输出null  
  17.   
  18.         //文件名前加了“/”,则表示从类路径下也就是从classes文件夹下查找资源,如下表示从classes文件夹下查找11.properties文件资源。  
  19.         System.out.println("3:"+t.getClass().getResourceAsStream("/11.properties"));//输出java.io.BufferedInputStream@14318bb  
  20.         System.out.println();  
  21.   
  22.         //当前包路径4:file:/E:/myobject/myspider/build/classes/myspider/  
  23.         System.out.println("4:"+t.getClass().getResource(""));  
  24.   
  25.         //输出当前类路径5:file:/E:/myobject/myspider/build/classes/  
  26.         System.out.println("5:"+t.getClass().getResource("/"));  
  27.   
  28.         /* 
  29.          * 如果类路径下的当前包有22.properties文件,则输出6:file:/E:/myobject/myspider/build/classes/myspider/22.properties 
  30.          * 否者输出源文件下的22.properties文件的路径,则输出:6:file:/E:/myobject/myspider/src/myspider/22.properties 
  31.          */  
  32.         System.out.println("6:"+t.getClass().getResource("22.properties"));  
  33.         /* 
  34.          * 如果类路径下有11.properties文件,则输出7:file:/E:/myobject/myspider/build/classes/11.properties 
  35.          * 否者输出源文件下的11.properties文件的路径,则输出:6:7:file:/E:/myobject/myspider/src/11.properties 
  36.          */  
  37.         System.out.println("7:"+t.getClass().getResource("/11.properties"));  
  38.   
  39.     }  
  40. }  
 
分享到:
评论

相关推荐

    java项目中获取路径详解

    在 Java 项目中,获取相对路径可以使用 `getResource` 方法。这个方法可以返回当前类的相对路径。在静态方法中,可以使用 `Test.class.getResource("").getPath()`,而在非静态方法中,可以使用 `this.getClass()....

    java-loadresource.rar

    本篇文章将详细探讨Java提供的两种主要方法:`Class.getResource`和`Class.getResourceAsStream`,用于加载类路径下的资源文件。 首先,`Class.getResource`方法返回一个`URL`对象,它表示资源的位置。这个方法接受...

    Java路径问题最终解决方案.doc

    Java路径问题一直是开发者在处理文件操作时经常遇到的挑战,主要涉及到如何正确地定位和访问文件资源。在Java中,路径分为绝对路径和相对路径,这两种路径又有不同的表现形式。 一、URI形式的绝对资源路径 例如:...

    java类动态获取相对路径

    综上所述,通过结合`ClassLoader`、`getResource`和`File`等类,我们可以动态获取Java类的相对路径,实现对文件资源的有效管理。在实际应用中,可能还需要结合具体的项目结构和需求进行适当的调整。

    Java相对路径总结

    例如,`getClass().getResourceAsStream("/path/to/resource.txt")`将从类路径的根目录开始查找资源。 6. **Java的URL类**:除了`File`类,Java的`java.net.URL`类也可以处理路径,尤其在处理网络资源时。它可以...

    Java Resource

    4. **尝试使用Resources类**:自Java 6开始,`java.nio`包下的`Resources`类提供了一种更简洁的方式来获取类路径中的资源,如`Resources.getResource("filename")`。 5. **资源的国际化**:在处理多语言环境时,...

    java文件路径操作详细[归类].pdf

    例如,`ClassLoader`类的`getResource(String name)`和`getResourceAsStream(String name)`方法,以及`ResourceBundle`类的`getBundle(String path)`都是基于此类路径查找资源。 然而,尽管相对路径在使用上更为...

    在Java程序中获取当前运行程序的路径

    首先,我们可以通过`java.lang.Class`类的`getResource`或`getResourceAsStream`方法来获取类路径中的资源文件路径。这两个方法都是在类路径中查找资源,返回一个URL对象,从中可以获取路径信息。例如,如果我们有一...

    JAVA获取文件绝对路径的方法

    当你需要获取与类相关的资源文件的绝对路径时,可以使用 `Class.getResource()` 或 `Class.getResourceAsStream()` 方法。这些方法返回一个 `java.net.URL` 对象,可以通过调用 `getPath()` 来获取路径字符串。例如...

    普通java类获取绝对路径

    1. **获取当前类的资源路径**:Java提供了一个内置的方法`getClass().getResource()`或`getClass().getResourceAsStream()`,它们可以从类路径中获取资源的URL。例如,如果你有一个名为`MyClass.class`的文件,你...

    Java获取文件的路径及常见问题解决方案

    URL url_a = t.getClass().getResource("a.properties"); 3. 使用File对象 File对象可以用于获取文件的路径,例如: File file = new File("a.properties"); 三、文件路径的问题解决方案 在Java中,文件路径的...

    文件写入,项目相对路径,java反射,模板数据写入

    在Java应用中,我们经常需要获取资源文件的位置,这时可以使用`Class.getResource()`或`Class.getResourceAsStream()`方法,它们能够根据类加载器解析相对于类路径的路径。例如,如果你有一个名为`config.properties...

    关于java 读取eclipse下文件相对路径 关于Java的文件相对路径问题一直 ....doc

    为了保证代码在其他环境中也能正常工作,建议使用绝对路径或者基于类加载器的资源获取方式(如`ClassLoader.getResource()`或`ClassLoader.getResourceAsStream()`),而不是依赖于工作空间的相对路径。这将确保你的...

    java读取项目中的文件(src目录下)

    使用`getResource()`或`getResourceAsStream()`方法能更好地适应这些变化。 7. **异常处理**: - 在尝试读取文件时,应该始终处理可能出现的异常,如`FileNotFoundException`,确保程序在文件不存在或无法访问时...

    search resource about java

    1. **Class.getResource() 和 Class.getResourceAsStream()**:这两个方法允许我们通过类加载器获取到类路径下的资源。例如,`getClass().getResource("/filename.txt")`返回一个URL,`getClass()....

    Java-recourse.rar_java读取recouse

    你可以通过`Thread.currentThread().getContextClassLoader().getResource()`或`YourClass.class.getResource()`来获取`URL`对象,然后使用`InputStream`读取资源内容。例如: ```java URL resource = getClass()....

    JAVA获取CLASSPATH路径的方法详解

    然而,在实际开发中,通常我们会使用`Class`对象提供的`getResource`和`getResourceAsStream`方法,而不是直接使用`ClassLoader`的。这是因为`Class`对象的这些方法会委托给加载该类的`ClassLoader`,这使得代码更加...

    Java 读取资源文件

    - 如果你的资源文件是Java项目的一部分,你可以在类路径中直接导入它们,然后使用`getClass().getResource()`或`getClass().getResourceAsStream()`方法。 4. 文件系统访问 - 如果资源文件位于文件系统的某个位置...

    java读取资源文件

    - 使用`Class.getResource()`或`Class.getResourceAsStream()`方法: - `getResource()`返回一个`URL`对象,适合处理网络或磁盘上的资源。 - `getResourceAsStream()`返回一个`InputStream`,适用于读取二进制...

    JavaWeb_servlet(11)_ 通过 ServletContex 获得类路径下的文件路径

    2. `getResource()`和`getResourceAsStream()`:这两个方法用于获取URL资源和对应的输入流。如果你只想读取文件内容,而不需要文件系统路径,可以使用它们。例如: ```java ServletContext context = ...

Global site tag (gtag.js) - Google Analytics