您的位置:首页 > 编程语言 > Java开发

Java读取项目内的资源文件

2014-10-27 15:28 555 查看
Java读取项目的资源文件,首先要做的就是访问到这个文件,访问文件的路径我觉得有两种做法,第一种是通过类加载路径来实现,这种方法可以访问sourcefolder下面的文件

第二种方法是通过项目的根目录来访问文件,这样可以获取到非sourcefolder目录底下的文件。接下来贴上代码吧。

1.项目文件目录结构展示



2.然后是调用代码以及说明

package com.wzxy.my.test;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStream;

import java.util.Properties;

public class test1 {

/**

* 读取resources文件夹下面的内容,通过绝对路径来读取文件,绝对路径从类加载器开始

*/

public void testGetResource(){

Properties prop = new Properties();

InputStream in = Object.class.getResourceAsStream("/resources/test1.properties");

try {

prop.load(in);

System.out.println("开始加载文件");

System.out.println(prop.getProperty("myname").trim());

System.out.println(prop.getProperty("myage").trim());

in.close();

} catch (IOException e) {

e.printStackTrace();

try {

in.close();

} catch (IOException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

}

}

/**

* 获取不是sourcefolder文件夹下的文件

* 1.Object.class.getResourceAsStream("/res/test2.properties");这样是获取不到的,

* 因为文件没有在类加载器文件底下。

* 2.如果该文件位于同样是sourcefolder的另一个文件夹地下,也是可以这样访问的,

* 也就是说只要是位于sourcefolder底下都可以通过类加载器路径加载

* 3.跟调用类位于同一个目录底下的文件可以直接读取 InputStream in = test1.class.getResourceAsStream("test4.properties");

* 4.读取非source文件夹底下的文件可以采用in = new FileInputStream(new File("res/test2.properties"));

*

*/

public void testgetresource2(){

Properties prop = new Properties();

FileInputStream in;

try {

in = new FileInputStream(new File("WebRoot/res3/test5.properties"));

try {

prop.load(in);

System.out.println("开始加载文件");

System.out.println(prop.getProperty("myname").trim());

System.out.println(prop.getProperty("myage").trim());

in.close();

} catch (IOException e) {

e.printStackTrace();

try {

in.close();

} catch (IOException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

}

} catch (FileNotFoundException e2) {

// TODO Auto-generated catch block

e2.printStackTrace();

}

}

}

好了,就这些了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: