java中读取src文件下属性文件(支持跨服务器)
2010-06-12 16:14
417 查看
目前的代码如下:
在windows下测试通过,Linux没测试,需要进一步研究。
补充:使用ClassLoader.getSystemResourceAsStream("/mypropertiestest.properties")和Thread.currentThread().getContextClassLoader().getResourceAsStream("/mypropertiestest.properties")读取src下的属性文件,通过测试,在windows和Linux下的tomcat和apusic都能成功。
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.util.Iterator; import java.util.Properties; import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; /** * * @author zcb */ public class Test { public static void main(String args[]) { Test test = new Test(); InputStream in = null; Properties props = new Properties(); //第一种方法,取得src下的属性文件,成功 in = test.getClass().getResourceAsStream("/mypropertiestest.properties"); //第二种方法,取得src下的属性文件,相对第一种少了个“/”,注意:error,不行,此时取得的路径是到classes文件夹 // System.out.println("path:"+test.getClass().getResource("mypropertiestest.properties").getPath()); // in = test.getClass().getResourceAsStream("mypropertiestest.properties"); //第三种种方法,通过绝对路径,取得src下的属性文件,成功,但对apusic服务器不大理想,属性文件要拷贝到项目外面 // String filepath = test.getClass().getResource("/").getPath() + java.io.File.separator + "mypropertiestest.properties"; // try { //// filepath = filepath.substring(1).replaceAll("%20", " ");//or filepath = filepath.replaceAll("%20", " "); // filepath = URLDecoder.decode(filepath, "UTF-8"); // } catch (UnsupportedEncodingException ex) { // Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex); // } // try { // in = new FileInputStream(new File(filepath)); // } catch (FileNotFoundException ex) { // Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex); // } try { props.load(in); } catch (IOException e) { e.printStackTrace(); } finally { if (in != null) { try { in.close(); } catch (IOException ex) { Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex); } } } //输出属性文件中的信息 Set set = props.keySet(); Iterator it = set.iterator(); System.out.println("Begin ..."); while (it.hasNext()) { String key = (String) it.next(); System.out.println(key + "=" + props.getProperty(key)); } System.out.println("End"); } }
在windows下测试通过,Linux没测试,需要进一步研究。
补充:使用ClassLoader.getSystemResourceAsStream("/mypropertiestest.properties")和Thread.currentThread().getContextClassLoader().getResourceAsStream("/mypropertiestest.properties")读取src下的属性文件,通过测试,在windows和Linux下的tomcat和apusic都能成功。
相关文章推荐
- java中读取src文件下属性文件(支持跨服务器)
- java读取属性文件
- 通过java读取远程nfs服务器文件
- java开发,在本地与服务器上读取文件的方法,不用每次都修改路径(主要在部署的时候做变动)
- java 读取src下的配置文件
- java读取属性配置文件工具类
- java 读取属性文件里边的键值
- java从web服务器读取文件
- java循环读取ftp服务器上面的文件
- kernel的属性文件到android的java的读取(7 14)
- java读取属性文件
- JAVA读取文件属性
- java 读取属性文件
- 利用java.util.Properties读取属性文件
- File文件基本操作之三: java 读取properties文件属性
- java web 读取配置文件属性
- JAVA+FTP实现跨服务器获取文件,支持局域网和外网
- java实现读取flash的swf文件属性
- jQuery的getJSON方法不支持本地文件读取,一定要在服务器当中
- java 读取src目录下的配置文件