java读取Properties文件的六种方法

1、使用java.util.Properties类的load()方法
2、使用java.util.ResourceBundle类的getBundle()方法
3、使用java.util.PropertyResourceBundle类的构造函数
4、使用class变量的getResourceAsStream()方法
5、使用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()方法
6、使用java.lang.ClassLoader类的getSystemResourceAsStream()静态方法

如:

    String userDir = System.getProperty("user.dir");  
    InputStream in = new BufferedInputStream(new FileInputStream(userDir +“\\XXXX.properties”));  //相当于加上“user.dir”的绝对路径  
    pro.load(in);  

IDE环境下的“user.dir”为当前工程的根目录,而当使用java脚本启动java程序时,“user.dir”是java程序启动的当前目录

1。使用java.util.Properties类的load()方法

示例:

InputStream in = lnew BufferedInputStream(new FileInputStream(name));
Properties p = new Properties();
p.load(in);

2。使用java.util.ResourceBundle类的getBundle()方法
示例:

ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault());

3。使用java.util.PropertyResourceBundle类的构造函数
示例:

InputStream in = new BufferedInputStream(new FileInputStream(name));
ResourceBundle rb = new PropertyResourceBundle(in);

4。使用class变量的getResourceAsStream()方法
示例:

 InputStream in = JProperties.class.getResourceAsStream(name);
Properties p = new Properties();
p.load(in);

5。使用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()方法
示例:

 InputStream in = JProperties.class.getClassLoader().getResourceAsStream(name);
Properties p = new Properties();
p.load(in);

6。使用java.lang.ClassLoader类的getSystemResourceAsStream()静态方法
示例:

InputStream in = ClassLoader.getSystemResourceAsStream(name);
Properties p = new Properties();
p.load(in);

补充Servlet中可以使用javax.servlet.ServletContext的getResourceAsStream()方法
示例:

InputStream in = context.getResourceAsStream(path);
Properties p = new Properties();
p.load(in);

如果路径中有中文字符可以如下获得:
//向文件中写内容

        try {
            
            URI uri = NULL;
            try {
                uri = Object.class.getResource("/file.properties").toURI();
                
            } catch (URISyntaxException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            String str = uri.getPath();
                         
            OutputStream out = new FileOutputStream(str);
            p.setProperty("url", "file:com/qq.text");
            try {
                p.store(out, null);
                
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
            
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

你可能感兴趣的:(java读取Properties文件的六种方法)