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中,处理文件时通常会遇到两种类型的路径:**相对路径**与**绝对路径**。 - **相对路径**:指的是相对于当前工作目录或类路径(Classpath)的一种路径表示方式。 - **绝对路径**:则是一种完整地指明文件位置...
2. 使用`Class.getResourceAsStream`(相对路径): ```java InputStream inputStream = Test.class.getResourceAsStream("abc.jpg"); ``` 3. 使用`ClassLoader.getResourceAsStream`: ```java InputStream ...
当你在代码中使用相对路径时,Java会将这些路径与当前工作目录拼接,来找到实际的文件或目录。 Java中获取和设置当前工作目录的方法如下: ```java // 获取当前工作目录 File currentDir = new File("."); System....
- 在Java中读取文件时,可以使用相对路径或绝对路径。如果文件在`src`目录下,且你的代码在同一目录层次,可以使用相对路径。否则,可能需要使用绝对路径,或者利用类路径的特性。 5. **使用`ClassLoader`读取资源...
在Java Web开发中,理解和掌握相对路径与绝对路径的运用是至关重要的,因为这直接影响到资源定位、页面跳转以及文件读写等操作的正确性。以下是对Java Web中相对路径与绝对路径问题的深入总结: ### 一、路径概念与...
如果你想要从这个Java文件读取`yyy.properties`,假设它位于`src\env`目录,那么正确的相对路径应该是`./src/env/yyy.properties`。这里,`.`代表当前目录,也就是`src\come\home\basic`,然后你向这个目录添加相对...
在 Java 项目中,获取相对路径可以使用 `getResource` 方法。这个方法可以返回当前类的相对路径。在静态方法中,可以使用 `Test.class.getResource("").getPath()`,而在非静态方法中,可以使用 `this.getClass()....
本项目涉及的关键知识点主要包括文件写入、项目相对路径、Java反射以及模板数据写入。这些技术都是构建复杂应用时不可或缺的部分。 首先,我们要了解文件写入。在Java中,我们可以使用`java.io`包下的`FileWriter`...
1. 相对类路径:如果你的Properties文件与Java源代码位于同一目录结构下,可以使用`getResourceAsStream()`方法,配合类路径来加载。例如: ```java InputStream in = getClass().getResourceAsStream("/config....
在 Java 中,可以使用 System.getProperty("user.dir") 来获取相对路径。该路径是相对于项目的根目录的。在 Web 项目中,该路径视不同的 Web 服务器不同而不同。 例如,在 Tomcat 中,该路径是相对于 Tomcat 安装...
Java文件路径操作是Java开发中常见且重要的任务,无论是在读写文件、处理资源还是进行系统交互时,都需要对文件路径进行操作。本篇将详细探讨Java中的文件路径处理技术,主要涵盖以下知识点: 1. **File类**: ...
解决这个问题的方法是确保路径的正确性,可以使用绝对路径或者相对路径,并且检查文件是否真的存在于该路径下。 接下来,我们讨论写入Properties文件的问题。写入过程基本如下: 1. 创建Properties对象(如果还...
- **相对路径**:如果文件位于Web应用的根目录下(如`yourwebapp\yourconfig\yourconf.properties`),可以使用`new FileInputStream("./yourconfig/yourconf.properties")`。 2. **Tomcat**: - 使用`System....
在Java中,文件路径可以是绝对路径或相对路径。绝对路径是从根目录开始的完整路径,它指明了文件的确切位置。相对路径则是相对于当前工作目录的路径,它的解析依赖于程序运行时的工作目录。在处理文件路径时,开发者...
- 在Java中,文件路径可以是相对路径或绝对路径。使用`file.getAbsolutePath()`获取绝对路径。 以上就是Java进行文件读写操作的基础知识。在实际开发中,还需要根据具体需求选择合适的方法和策略,如处理大文件时...
在Java编程中,路径和相对路径是两个非常重要的概念,特别是在处理文件系统操作时。路径是用来定位文件或者目录的字符串,而相对路径则是相对于当前工作目录的路径表示方式。 1. **路径(Absolute Path)** 路径...
- 文件路径的处理:在不同环境下(如开发环境、测试环境、生产环境),资源文件的位置可能会变化,因此建议使用相对路径而不是绝对路径。 - 错误处理:在读取资源文件时,必须处理可能出现的异常,如文件未找到、...
10. **文件路径**:在Java中,文件路径可以是相对路径或绝对路径。相对路径是相对于当前工作目录的,而绝对路径是从根目录开始的完整路径。 以上就是关于Java写文件的基本知识,理解并熟练掌握这些概念和方法,将能...
在Java编程中,读写文本文件(如`.txt`文件)是常见的操作,尤其是在处理配置文件时。配置文件通常以键值对(key-value pairs)的形式存储数据,便于程序访问和管理设置。以下是对这个主题的详细阐述: 1. **Java I...
TXT文件的处理则相对简单,因为它们本质上是纯文本文件,可以使用Java的内置类进行读写。 **读取Word文档(.doc/.docx):** 1. **HWPF和XWPF**: 对于.doc文件,我们需要导入`org.apache.poi.hwpf.HWPFDocument`类来...