`
abc20899
  • 浏览: 932572 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java 中获取资源文件 以及 路径

    博客分类:
  • java
 
阅读更多
新建一个Java工程,新建一个constants.properties资源文件

Java代码
1.userName = snail  
2.age = 24  3.password = 123456  userName = snail
age = 24
password = 123456然后我们再建立一个类Constans.java,附上静态变量

Java代码
1.package testproperties;  
2. 
3.public  class Constants {   4. 
5.    public static String userName;   6.    public static int age;   7.    public static String password;    8.} 
package testproperties;

public  class Constants {

public static String userName;
public static int age;
public static String password;
}接下来的工作就尝试着如何获取properties文件类定义的姓名、年龄和密码了,新建一个InitProperties类

Java代码
1.package testproperties;  
2. 
3.import java.io.FileInputStream;   4.import java.io.IOException;   5.import java.util.Properties;   6. 
7.public class InitProperties {   8.      private static final long serialVersionUID = -2106230733190196852L;   9. 
10.      public void init()   11.      {  
12.        System.out.println("#############################加载配置信息###########################");   13.        Properties prop = new Properties();   14. 
15.        //得到的是编译后的bin的目录Class.class.getClass().getResource("/").getPath();   16.          
17.        //这个是绝对路径   18.//      String filepath = "E:\\myeclipse6\\workspace\\XXX\\src\\testproperties\\constants.properties";   19.          
20.        String filepath = Class.class.getClass().getResource("/").getPath()+"/testproperties/constants.properties" ;   21.        
22.        System.out.println("++++++++++++"+Class.class.getClass().getResource("/").getPath()+"+++++++++++++");   23.          
24.        FileInputStream fis = null;   25.        try {   26.          fis = new FileInputStream(filepath);   27.          prop.load(fis);  
28.          Constants.userName = prop.getProperty("userName");   29.          Constants.age = Integer.parseInt(prop.getProperty("age"));   30.          Constants.password = prop.getProperty("password");   31.          System.out.println(Constants.userName+Constants.age+Constants.password);;  
32.          System.out.println("#############################加载配置信息完成###########################");   33.        }  
34.        catch (IOException e) {   35.          System.out.println("加载constants.properties文件失败,文件不存在后者路径不正确! ");   36.          e.printStackTrace();  
37.        }  
38.      }  
39.      public static void main(String[] args) {   40.          InitProperties ip = new InitProperties();   41.          ip.init();  
42.    }  
43.} 
package testproperties;

import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;

public class InitProperties {
  private static final long serialVersionUID = -2106230733190196852L;

  public void init()
  {
    System.out.println("#############################加载配置信息###########################");
    Properties prop = new Properties();

    //得到的是编译后的bin的目录Class.class.getClass().getResource("/").getPath();
   
    //这个是绝对路径
//     String filepath = "E:\\myeclipse6\\workspace\\XXX\\src\\testproperties\\constants.properties";
   
    String filepath = Class.class.getClass().getResource("/").getPath()+"/testproperties/constants.properties" ;
 
    System.out.println("++++++++++++"+Class.class.getClass().getResource("/").getPath()+"+++++++++++++");
   
    FileInputStream fis = null;
    try {
      fis = new FileInputStream(filepath);
      prop.load(fis);
      Constants.userName = prop.getProperty("userName");
      Constants.age = Integer.parseInt(prop.getProperty("age"));
      Constants.password = prop.getProperty("password");
      System.out.println(Constants.userName+Constants.age+Constants.password);;
      System.out.println("#############################加载配置信息完成###########################");
    }
    catch (IOException e) {
      System.out.println("加载constants.properties文件失败,文件不存在后者路径不正确! ");
      e.printStackTrace();
    }
  }
  public static void main(String[] args) {
  InitProperties ip = new InitProperties();
  ip.init();
}
}


现在附上集中在jsp、Java、和servlet中获取路径的方法:(引用自http://zhidao.baidu.com/question/86179810.html?fr=qrl&cid=93&index=5)

1.jsp中取得路径:

以工程名为TEST为例:

(1)得到包含工程名的当前页面全路径:request.getRequestURI()
    结果:/TEST/test.jsp
(2)得到工程名:request.getContextPath()
    结果:/TEST
(3)得到当前页面所在目录下全名称:request.getServletPath()
    结果:如果页面在jsp目录下 /TEST/jsp/test.jsp
(4)得到页面所在服务器的全路径:application.getRealPath("页面.jsp")
    结果:D:\resin\webapps\TEST\test.jsp
(5)得到页面所在服务器的绝对路径:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();
    结果:D:\resin\webapps\TEST



2.在类中取得路径:

(1)类的绝对路径:Class.class.getClass().getResource("/").getPath()
    结果:D:/TEST/WebRoot/WEB-INF/classes/pack/
(2)得到工程的路径:System.getProperty("user.dir")
    结果:D:\TEST



3.在Servlet中取得路径:

(1)得到工程目录:request.getSession().getServletContext().getRealPath("") 参数可具体到包名。
    结果:E:\Tomcat\webapps\TEST
(2)得到IE地址栏地址:request.getRequestURL()
    结果:http://localhost:8080/TEST/test
(3)得到相对地址:request.getRequestURI()
    结果:/TEST/test
分享到:
评论

相关推荐

    java文件路径获取

    本文将详细介绍Java中获取文件路径的各种方法及其应用场景,帮助开发者更好地理解和掌握这些技巧。 #### 二、基本概念 在深入讨论之前,我们需要了解几个基本概念: - **Classpath**: 是Java运行环境的一个重要...

    Java中获取文件路径的几种方式

    例如,通过`this.getClass().getResource()`方法可以获取资源文件的路径。 ##### 示例代码: ```java File f = new File(this.getClass().getResource("/").getPath()); System.out.println(f.getAbsolutePath()); ...

    JAVA中获取各种路径

    此方法返回类的资源路径,通常用于获取与类相关的资源文件,例如`/D:/TEST/WebRoot/WEB-INF/classes/pack/`,这在加载配置文件、模板等静态资源时非常有用。 #### (2) 获取工作目录路径:`System.getProperty("user...

    JAVA获取各种路径总结

    - 这些方法非常灵活,可以用于获取各种类型的资源文件路径。 通过以上介绍,我们可以看到,在Java开发中,无论是Web开发还是普通的Java应用程序开发,获取路径都是一个非常重要且实用的功能。掌握这些方法,可以...

    Java获得某个路径下的所有文件列表,并写入指定文件

    创建一个`BufferedWriter`用于写入文件,然后将每个文件路径转换为字符串并写入: ```java BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt")); stream.forEach(path -> { try { ...

    Java 中几种获取文件路径的方式

    Java 开发中我们经常要获取文件的路径,比如读取配置文件等等。今天我们就关于文件的路径和如何读取文件简单地探讨一下。 2. 文件的路径 文件的路径通常有 相对路径 与 绝对路径。 2.1 相对路径 以当前文件为基准...

    JAVA获取FTP文件列表

    ### JAVA获取FTP文件列表知识点详解 #### 一、概述 在现代软件开发中,FTP(File Transfer Protocol)是一种广泛使用的协议,用于在网络上进行文件传输。本文档将详细介绍一个基于Java的实用工具类`FtpClientUtil`...

    JAVA中如何得到文件路径.pdf

    ### JAVA中如何获取文件路径详解 #### 一、概述 在Java编程中,获取文件路径是一项基础而重要的技能。无论是处理本地文件还是部署在Web容器中的应用,了解如何正确地获取文件路径对于程序的正常运行至关重要。本文...

    总结一下java获取路径几种途径

    在Java Web应用中,资源文件的位置可能会变化,此时可以通过`ClassLoader`来获取资源的URL或路径。 ```java // 获取当前类的ClassLoader ClassLoader classLoader = this.getClass().getClassLoader(); // 获取资源...

    java读取配置文件

    在Java编程中,读取配置文件是常见的任务,特别是在开发需要灵活配置的系统时。配置文件通常用于存储应用程序的设置,如数据库连接信息、服务器端口、第三方服务的API密钥等,这些信息可能需要根据不同的环境或需求...

    java类动态获取相对路径

    在Java编程中,动态获取类的相对路径是一项重要的技能,特别是在处理资源文件或者进行文件操作时。相对路径是相对于当前工作目录或者类加载器的基础路径的路径表示,它可以帮助我们定位到程序运行时所需的文件。下面...

    java 静态代码块通过类加载器获取资源文件例子

    本案例聚焦于如何利用静态代码块结合类加载器来高效地获取资源文件,尤其是属性配置文件。下面我们将深入探讨这两个概念及其在实际开发中的作用。 首先,静态代码块是在类被加载到JVM(Java虚拟机)时执行的一段...

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

    选择合适的方法取决于你是否需要访问类路径中的资源,或者只是简单地获取文件系统的文件路径。在进行文件操作时,确保正确处理路径是非常重要的,因为错误的路径可能导致文件找不到或者出现其他运行时错误。

    JAVA获取项目路径.doc

    ### JAVA获取项目路径 在Java开发中,获取项目的路径是一个非常常见的需求,尤其是在处理文件读写、资源定位等场景时尤为重要。本文将详细介绍如何通过不同的方法来获取项目的各种路径,并结合示例代码进行说明。 ...

    java 获取项目文件路径实现方法

    在Java编程中,获取项目文件路径是常见的需求,特别是在处理资源文件、配置文件或进行文件操作时。这里我们将深入探讨几种不同的方法来实现这一目标,同时解析每种方法的适用场景和返回路径的特点。 1. `this....

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

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

    java获取路径的各种方法

    6. **this.getClass().getClassLoader().getResource("").getPath()**:这种方法可以在任何类中使用,返回的是类路径下的资源文件路径,通常用于加载类路径内的配置文件或资源。 除了以上方法,还有其他获取路径的...

    普通java类获取绝对路径

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

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

    - 当文件在类路径中时,推荐使用`ClassLoader`来获取输入流。例如,`Thread.currentThread().getContextClassLoader().getResourceAsStream("filename")`可以找到并打开`src`目录下的文件。这种方法允许你在打包后...

Global site tag (gtag.js) - Google Analytics