`

java 使用相对路径读取文件

 
阅读更多

java 使用相对路径读取文件

1.java project环境,使用java.io用相对路径读取文件的例子:
 *目录结构:
  DecisionTree
            |___src
                 |___com.decisiontree.SamplesReader.java
            |___resource
                 |___train.txt,test.txt
 *SamplesReader.java:
  String filepath="resource/train.txt";//注意filepath的内容;
  File file=new File(filepath);
  ……

 *我们留意filepath的内容,java.io默认定位到当前用户目录("user.dir")下,即:工程根目

录"D:\DecisionTree"下,因此,此时的相对路径(以user.dir为基路径的路径)为"resource/train.txt"

。这样,JVM就可以根据"user.dir"与"resource/train.txt"得到完整的路径(即绝对路

径)"D:\DecisionTree\resource\train.txt",从来找到train.txt文件。

 *注意:相对路径的起始处无斜杆"/";例如:
filepath="resource/train.txt";
而不是filepath="/resource/train.txt"; //error!

2、javaEE环境,使用Classloader用相对路径读取xml的例子:
 *参见之前写的文章“通过虚拟路径或相对路径读取一个xml文件,避免硬编码”。

 *内容如下:
 java使用相对路径读取xml文件:
一、xml文件一般的存放位置有三个:
1.放在WEB-INF下;
2.xml文件放在/WEB-INF/classes目录下或classpath的jar包中;
3.放在与解析它的java类同一个包中,不一定是classpath;

二、相对应的两种使用相对路径的读取方法:

方法一:(未验证)
将xml文件放在WEB-INF目录下,然后
程序代码:
InputStream is=getServletContext().getResourceAsStream( "/WEB-INF/xmlfile.xml" );

方法二:将xml文件放在/WEB-INF/classes目录下或classpath的jar包中,则可以使用ClassLoader的静态

方法getSystemResourceAsStream(String s)读取;
程序代码:
String s_xmlpath="com/spf/web/ext/hotspot/hotspotxml/hotspot.xml";
InputStream in=ClassLoader.getSystemResourceAsStream(s_xmlpath);

方法三:xml在随意某个包路径下:
String s_xmlpath="com/spf/web/ext/hotspot/hotspotxml/hotspot.xml";
ClassLoader classLoader=HotspotXmlParser.class.getClassLoader();
InputStream in=classLoader.getResourceAsStream(s_xmlpath);

分享到:
评论

相关推荐

    Java相对路径总结

    当你在代码中使用相对路径时,Java会将这些路径与当前工作目录拼接,来找到实际的文件或目录。 Java中获取和设置当前工作目录的方法如下: ```java // 获取当前工作目录 File currentDir = new File("."); System....

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

    - 在Java中读取文件时,可以使用相对路径或绝对路径。如果文件在`src`目录下,且你的代码在同一目录层次,可以使用相对路径。否则,可能需要使用绝对路径,或者利用类路径的特性。 5. **使用`ClassLoader`读取资源...

    Java文件路径详解

    在 Java 中,可以使用 System.getProperty("user.dir") 来获取相对路径。该路径是相对于项目的根目录的。在 Web 项目中,该路径视不同的 Web 服务器不同而不同。 例如,在 Tomcat 中,该路径是相对于 Tomcat 安装...

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

    如果你想要从这个Java文件读取`yyy.properties`,假设它位于`src\env`目录,那么正确的相对路径应该是`./src/env/yyy.properties`。这里,`.`代表当前目录,也就是`src\come\home\basic`,然后你向这个目录添加相对...

    java项目中获取路径详解

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

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

    本项目涉及的关键知识点主要包括文件写入、项目相对路径、Java反射以及模板数据写入。这些技术都是构建复杂应用时不可或缺的部分。 首先,我们要了解文件写入。在Java中,我们可以使用`java.io`包下的`FileWriter`...

    java文件路径操作详细(转载)

    Java文件路径操作是Java开发中常见且重要的任务,无论是在读写文件、处理资源还是进行系统交互时,都需要对文件路径进行操作。本篇将详细探讨Java中的文件路径处理技术,主要涵盖以下知识点: 1. **File类**: ...

    java读写properties文件,解决系统找不到指定路径,解决写入后读取正常,但文件数据未更新问题

    1. 相对类路径:如果你的Properties文件与Java源代码位于同一目录结构下,可以使用`getResourceAsStream()`方法,配合类路径来加载。例如: ```java InputStream in = getClass().getResourceAsStream("/config....

    java读写properties文件,解决系统找不到指定路径,解决写入后读取正常,但文件数据未更新问题

    解决这个问题的方法是确保路径的正确性,可以使用绝对路径或者相对路径,并且检查文件是否真的存在于该路径下。 接下来,我们讨论写入Properties文件的问题。写入过程基本如下: 1. 创建Properties对象(如果还...

    关于Java文件路径问题

    在Java中,文件路径可以是绝对路径或相对路径。绝对路径是从根目录开始的完整路径,它指明了文件的确切位置。相对路径则是相对于当前工作目录的路径,它的解析依赖于程序运行时的工作目录。在处理文件路径时,开发者...

    java文件读写操作

    - 在Java中,文件路径可以是相对路径或绝对路径。使用`file.getAbsolutePath()`获取绝对路径。 以上就是Java进行文件读写操作的基础知识。在实际开发中,还需要根据具体需求选择合适的方法和策略,如处理大文件时...

    java 读取资源文件

    - 文件路径的处理:在不同环境下(如开发环境、测试环境、生产环境),资源文件的位置可能会变化,因此建议使用相对路径而不是绝对路径。 - 错误处理:在读取资源文件时,必须处理可能出现的异常,如文件未找到、...

    java 写文件 java 写文件 java 写文件 java 写文件

    10. **文件路径**:在Java中,文件路径可以是相对路径或绝对路径。相对路径是相对于当前工作目录的,而绝对路径是从根目录开始的完整路径。 以上就是关于Java写文件的基本知识,理解并熟练掌握这些概念和方法,将能...

    Java读写.txt文件

    在Java编程中,读写文本文件(如`.txt`文件)是常见的操作,尤其是在处理配置文件时。配置文件通常以键值对(key-value pairs)的形式存储数据,便于程序访问和管理设置。以下是对这个主题的详细阐述: 1. **Java I...

    Java路径问题

    本文将深入探讨Java中的路径问题,包括绝对路径、相对路径、类加载器路径以及类路径的配置。 1. 绝对路径与相对路径 - **绝对路径**:是从根目录开始,完整指明文件或目录位置的路径。在Windows系统中,通常以驱动...

    java类读取配置文件信息

    通常情况下,配置文件路径是一个相对路径,例如`"url.properties"`。 2. 配置文件的格式:配置文件的格式需要正确,否则将无法读取配置文件信息。通常情况下,配置文件格式是一个文本文件,例如`properties`文件。 3...

    JAVA小程序(文件读取)

    1. **文件路径**:在Java中,文件路径可以是绝对路径,也可以是相对路径。理解这两种路径的区别对于正确地定位和打开文件至关重要。 2. **File类**:Java的`java.io.File`类是文件和目录路径名的抽象表示。通过File...

    java读写excel文件

    本篇文章将深入探讨如何使用Java进行Excel文件的读取与写入操作,主要聚焦于Apache POI库,这是一个广泛使用的开源Java API,专为处理Microsoft Office格式的文件而设计。 首先,我们需要了解Apache POI库中的核心...

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

    文件的路径通常有 相对路径 与 绝对路径。 2.1 相对路径 以当前文件为基准进行一级级目录指向被引用的资源文件。在 Java 代码中以当前运行的代码所在的位置为参照位置,只要被引用的文件相对于引用的文件的位置不变...

    Java相对路径与肯定路径的问题_.docx

    相对路径和绝对路径的选择取决于你需要操作的文件或目录相对于何处。相对路径方便于在项目内部引用资源,而绝对路径则提供了明确的文件位置。在处理Web应用中的资源时,理解这两种路径的区别及其获取方法至关重要,...

Global site tag (gtag.js) - Google Analytics