java中读取Properties文件----五种方式
Mark:
读取properties对于java编程来说很重要,所以小本本赶紧记起来吧。-----读取方式参考了其他博客文章,望大佬莫见怪
public class TestProperties { public String path1="com/pengzhen/test/jdbc.properties"; public String path2="/com/pengzhen/test/jdbc.properties"; public String path3="src/com/pengzhen/test/jdbc.properties"; public String path4="com/pengzhen/test/jdbc"; public String path5="src/com/pengzhen/test/jdbc.properties"; /*第一种采用的是类加载器*/ public void WayOne(){ ClassLoader loader=this.getClass().getClassLoader(); InputStream is=loader.getResourceAsStream(path1); Properties properties=new Properties(); try { properties.load(is); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } String url=properties.getProperty("jdbc.url"); String username=properties.getProperty("jdbc.username"); System.out.println(url+"||"+username); } /*第二种采用的是运行类本身的方法*/ public void WayTwo(){ InputStream is=this.getClass().getResourceAsStream(path2); Properties properties=new Properties(); try { properties.load(is); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } String url=properties.getProperty("jdbc.url"); String username=properties.getProperty("jdbc.username"); System.out.println(url+"||"+username); } /*第三种采用的是文件流的形式,并用Properties.load方法加载该流*/ public void WayThree(){ InputStream is = null; try { is = new BufferedInputStream(new FileInputStream(new File("src/com/pengzhen/test/jdbc.properties"))); } catch (FileNotFoundException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } Properties properties=new Properties(); try { properties.load(is); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } String url=properties.getProperty("jdbc.url"); String username=properties.getProperty("jdbc.username"); System.out.println(url+"||"+username); } /*第四种采用的是ResourceBundle的getBundle方法*/ public void WayFour(){ ResourceBundle rBundle=ResourceBundle.getBundle(path4); String url=rBundle.getString("jdbc.url"); String username=rBundle.getString("jdbc.username"); System.out.println(url+"||"+username); } /*第五种采用的是PropertyResourceBundle类的构造方法*/ public void WayFive(){ InputStream is = null; try { is = new BufferedInputStream(new FileInputStream(path5)); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } PropertyResourceBundle propertyResourceBundle = null; try { propertyResourceBundle = new PropertyResourceBundle(is); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } String url=propertyResourceBundle.getString("jdbc.url"); String username=propertyResourceBundle.getString("jdbc.username"); System.out.println(url+"||"+username); } public static void main(String[] args) { TestProperties properties=new TestProperties(); properties.WayOne(); properties.WayTwo(); properties.WayThree(); properties.WayFour(); properties.WayFive(); } }