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

各种路径的获取

阅读更多

平时写程序的时候,很多时候提示文件找不到,而抛出了异常,现在整理如下

 

一 相对路径的获得
    说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目)
         String relativelyPath=System.getProperty("user.dir");
         上述相对路径中,java项目中的文件是相对于项目的根目录
         web项目中的文件路径视不同的web服务器不同而不同(tomcat是相对于 tomcat安装目录\bin)


二 类加载目录的获得(即当运行时某一类时获得其装载目录)
      1.1)通用的方法一(不论是一般的java项目还是web项目,先定位到能看到包路径的第一级目录)
       
        InputStream is=TestAction.class.getClassLoader().getResourceAsStream("test.txt");
                  (test.txt文件的路径为  项目名\src\test.txt;类TestAction所在包的第一级目录位于src目录下)
       
        上式中将TestAction,test.txt替换成对应成相应的类名和文件名字即可

        1.2)通用方法二  (此方法和1.1中的方法类似,不同的是此方法必须以'/'开头)
             InputStream is=Test1.class.getResourceAsStream("/test.txt");

                      (test.txt文件的路径为  项目名\src\test.txt,类Test1所在包的第一级目录位于src目录下)

     


三 web项目根目录的获得(发布之后)
    1 从servlet出发

    可建立一个servlet在其的init方法中写入如下语句
      ServletContext s1=this.getServletContext();
     String temp=s1.getRealPath("/"); (关键)
     结果形如:D:\工具\Tomcat-6.0\webapps\002_ext\  (002_ext为项目名字)

                     如果是调用了s1.getRealPath("")则输出D:\工具\Tomcat-6.0\webapps\002_ext(少了一个"\")

   2 从httpServletRequest出发

             String cp11111=request.getSession().getServletContext().getRealPath("/");

      结果形如:D:\工具\Tomcat-6.0\webapps\002_ext\

 

 

四  classpath的获取(在Eclipse中为获得src或者classes目录的路径)

    方法一   Thread.currentThread().getContextClassLoader().getResource("").getPath()

 

                      eg: String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();
                      System.out.println("t---"+t);

                      输出:t---/E:/order/002_ext/WebRoot/WEB-INF/classes/

 

 

 

   方法二      JdomParse.class.getClassLoader().getResource("").getPath()   (JdomParse为src某一个包中的类,下同)

                 eg:String p1=JdomParse.class.getClassLoader().getResource("").getPath();
                     System.out.println("JdomParse.class.getClassLoader().getResource--"+p1);

   输出: JdomParse.class.getClassLoader().getResource--/E:/order/002_ext/WebRoot/WEB-INF/classes/

 

另外,如果想把文件放在某一包中,则可以 通过以下方式获得到文件(先定位到该包的最后一级目录)

        eg  String p2=JdomParse.class.getResource("").getPath();
         System.out.println("JdomParse.class.getResource---"+p2);

   输出: JdomParse.class.getResource---/E:/order/002_ext/WebRoot/WEB-INF/classes/jdom/ (JdomParse为src目录下jdom包中的类)

 

四   属性文件的读取:

     方法 一

           InputStream in = lnew BufferedInputStream( new  FileInputStream(name));          Properties p = new  Properties();    p.load(in); 

 

    注意路径的问题,做执行之后就可以调用p.getProperty("name")得到对应属性的值

 

方法二

        Locale locale = Locale.getDefault(); 
              ResourceBundle localResource = ResourceBundle.getBundle("test/propertiesTest", locale); 
            String value = localResource.getString("test"); 
           System.out.println("ResourceBundle: " + value);

     工程src目录下propertiesTest.properties(名字后缀必须为properties)文件内容如下:

               test=hello word

 

 

<转自:http://www.iteye.com/topic/319748>

分享到:
评论

相关推荐

    JAVA中获取各种路径

    以下是对标题“JAVA中获取各种路径”及其描述和部分内答所提及的几种路径获取方法的详细解析。 ### 1. JSP中的路径获取 #### (1) 获取当前页面的完整路径:`request.getRequestURI()` 此方法返回客户端请求的当前...

    JAVA获取各种路径总结

    ### JAVA 获取各种路径总结 在Java开发中,特别是在Web应用开发中,经常需要获取不同类型的路径,例如:当前Web应用的路径、特定文件的真实路径等。本文将详细讲解如何通过不同的方式来获取这些路径。 #### JSP中...

    Qt之各种路径获取(Qt5.12.2 MinGW 64-bit)

    资源(包含源码和可执行程序)获取了如下路径: 1.程序所在目录 2.程序的完整名称 3.当前工作目录 4.用户目录路径 5.执行程序名称 6.执行程序全称 7.QStandardPaths标准路径

    c#获取各种路径的方法

    ### C# 获取各种路径的方法详解 #### 一、概述 在C#开发中,经常会遇到需要获取当前程序或系统的各种路径的情况。例如,获取程序自身的路径、安装包的位置、用户的桌面路径等。这些路径信息对于读写文件、配置程序...

    从HttpServletRequest获取各种路径总结

    ### 从HttpServletRequest获取各种路径总结 #### 一、概述 在Java Web开发中,通过`HttpServletRequest`对象可以获取客户端请求的各种信息,包括但不限于路径信息。这些路径信息对于开发者来说至关重要,尤其是在...

    java文件路径获取

    ### Java 文件路径获取方法详解 #### 一、引言 在Java开发中,经常会遇到需要获取文件路径的情况,尤其是在处理配置文件、图片等资源时。本文将详细介绍Java中获取文件路径的各种方法及其应用场景,帮助开发者更好...

    C# 获取文件路径

    C# 获取文件路径 C# 获取文件路径是指在 C# 程序中获取当前执行文件的路径、当前工作目录的路径、基目录的路径等信息。在实际开发中,获取文件路径是非常重要的,例如在读取配置文件、加载资源文件、记录日志文件等...

    java项目中获取路径详解

    Java 项目中获取路径详解 在 Java 项目中,获取路径是非常重要的,因为它关系到项目的正确运行。特别是在 Java Web 项目中,获取路径变得更加复杂。下面我们将详细讨论 Java 项目中获取路径的方法和注意事项。 ...

    VC获取Windows各种目录路径

    在IT领域,特别是软件开发与系统管理中,获取操作系统中的各种目录路径是一项基本且重要的技能。这不仅有助于程序设计者更好地管理和访问系统资源,还能增强应用程序的兼容性和稳定性。本篇将深入探讨如何使用Visual...

    Android 获取OTG U盘路径 sdcard路径

    在Android系统中,获取OTG(On-The-Go)U盘的路径以及内部或外部SD卡的路径是进行文件操作的基础。这篇详细解释将围绕如何在Android M及以上版本的设备上实现这一功能,并提供一个简单实用的代码示例。 首先,我们...

    JAVA获取项目路径.doc

    尽管与路径获取不直接相关,但可以看出Selenium WebDriver在初始化时也需要设置驱动路径,这同样可以通过 `System.setProperty()` 方法完成。 ```java System.setProperty("webdriver.chrome.driver", "C:/Program ...

    Android TV USB路径或手机SDCARD路径获取

    本文将深入探讨如何在Android TV和手机上获取SDCARD(内部或外部)以及USB设备的路径。 首先,我们要明白在Android中,存储路径的管理是基于Android的存储模型。自Android 4.4(KitKat)版本开始,引入了“可卸载的...

    java获取路径的各种方法

    在实际开发中,根据需求选择合适的路径获取方式至关重要。例如,如果你需要读取Web应用内部的静态资源,可能选择`ServletContext.getRealPath()`;如果处理用户上传的文件,可能需要`request.getParameter()`配合`...

    Android单图路径获取(华为小米通用)

    标题提到的"Android单图路径获取(华为小米通用)"表明这是一个适用于不同品牌手机(如华为和小米)的解决方案,因为不同厂商的Android系统可能会对存储路径做一些定制化改动。下面我们将深入探讨这一主题。 1. **...

    ant自动获取文件路径

    在Ant的构建文件(通常命名为build.xml)中,我们使用各种标签来指定和操作文件路径。`&lt;property&gt;`标签用于设置和获取属性,其中包括文件路径。例如,我们可以定义一个属性来保存某个目录路径: ```xml ``` 这里...

    VB 获取系统路径

    下面将详细阐述如何在VB中获取各种系统路径。 1. 获取Windows目录: 使用`Environ("windir")`函数可以获取到Windows操作系统的主要安装目录。例如,C:\Windows或C:\WinNT。 2. 获取程序文件夹: 对于32位应用...

    java 获取当前路径

    使用 System.getProperty() 函数可以获取当前路径,该函数可以获取 Java 运行时环境的各种属性,其中包括当前路径。下面是一个示例代码: ```java System.out.println(System.getProperty("user.dir")); ``` 这段...

    c获取路径.

    #### 全路径获取 - **Path.GetFullPath**: 将任何路径转换为完全限定路径,即使它是相对路径也会转换成绝对路径。 #### 文件对话框 - 使用`FolderBrowserDialog`控件可以让用户选择目录,常用于设置保存或打开文件...

    android获取文件绝对路径类

    android获取文件绝对路径类,是本人项目中直接取出的类。在protected void onActivityResult()中使用

    VC获取当前程序文件的路径,文件名以及路径+文件名

    VC 获取当前程序文件的路径、文件名以及路径+文件名 在 VC++ 中,获取当前程序文件的路径、文件名以及路径+文件名是一个非常常见的问题,本文将为大家介绍两种经典的解决方案。 方法 1:使用 ...

Global site tag (gtag.js) - Google Analytics