读书人

Java 程序中运用相对和绝对路径读取文

发布时间: 2012-09-12 09:21:30 作者: rapoo

Java 程序中使用相对和绝对路径读取文件

在Java中用File对象来创建文件时,绝对路径一般是不会出现什么问题的,如果使用相对路径,则有可能出现意向不到的问题,以下主要是针对相对路径进行解释

1、Eclipse下的Java Project环境

目录结构如下所示:

? ? ? ? ?JavaTest

src

com.ccse.TestDemo.java

resource

text.txt

String filepath = "resource/train.txt";

File file = new File(filepath);

注意:filepath变量的内容

在此,java.io默认情况下用当前目录来分析相对路径名,定位到当前用户目录下("user.dir"),即工程目录d:\JavaTest下,因此此时的相对路径(以当前用户目录为基础)为"resource/train.txt",这样JVM就根据用户当前目录(user.dir)?和"resource/train.txt"得到完整路径,即绝对路径,从而找到相应的文件,需要注意的是相对路径的起始处无斜杠“/”,比如上面的filepath。

2、Java EE环境,通过Claserloader用相对路径来读取文件

xml文件一般存放在以下三个位置:

a、WEB-INF目录下

b、WEB-INF/classes目录下或者其classpath的jar包中

c、放在与解析它的java类同一包中

?

“.”或者“.\”代表当前目录,这个目录就是JVM启动路径

Eclipse中启动JVM一般都是在项目根路径上启动的。

?

?ServletActionContext.getServletContext().getResourceAsStream("/WEB-INF/*.*");就可以得到/WEB-INF/目录下的文件输入流?

?

对于要使用的文件,最好统一放到CLASSPATH路径下,这样才能保证开发和发布的时候均正常

读书人网 >编程

热点推荐