在这篇文章中,我们将学习如何在java中读写属性(properties)文件。 属性文件在java应用程序中用作配置文件,用于存储密钥及其对应的值。
示例属性文件currency_codes.properties
的内容如下所示。
currency_codes.properties –
USD=United States dollar EUR=Euro GBP=Pound sterling CNY=Chinese yuan INR=Indian rupee JPY=Japanese yen RUB=Russian ruble
创建属性文件
java.util.Properties
类将键及其值作为字符串存储在列表中。 Properties
类的store()
方法将属性列表(键值对)写入输出流。 以下是一个演示的示例。
文件:PropertiesWriteExample.java –
package com.yiibai.tutorial.io; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.Properties; /** * @author yiibai */ public class PropertiesWriteExample { public static void main(String[] args) { File file = new File("config_mail.properties"); Properties prop = null; FileOutputStream fileOutputStream = null; try { prop = new Properties(); fileOutputStream = new FileOutputStream(file); // Add key-value elements to properties list prop.setProperty("mail.from" "abcd@yiibai.com"); prop.setProperty("mail.to" "xyz@yiibai.com"); prop.setProperty("mail.smtp" "10.10.10.10"); prop.setProperty("mail.smtp.port" "250"); // Write properties list to output stream prop.store(fileOutputStream "This is an sample properties file."); } catch (IOException e) { e.printStackTrace(); } finally { try { if (fileOutputStream != null) { fileOutputStream.close(); } } catch (IOException e) { e.printStackTrace(); } } } }
执行上面示例代码,得到以下结果:
#This is an sample properties file. #Sat Nov 12 22:35:54 IST 2016 mail.smtp=10.10.10.10 mail.smtp.port=250 mail.from=abcd@yiibai.com mail.to=xyz@yiibai.com
读取属性文件
Properties
类的load()
方法从输入流中读取属性列表。 在以下示例中,我们将演示如何读取:config_mail.properties
。
文件:PropertiesReadExample.java –
package com.yiibai.tutorial.io; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.Properties; /** * @author yiibai */ public class PropertiesReadExample { public static void main(String[] args) { File file = new File("config_mail.properties"); Properties prop = null; FileInputStream fileInputStream = null; try { prop = new Properties(); fileInputStream = new FileInputStream(file); // Load property list prop.load(fileInputStream); // Print property list System.out.println("mail.from=" + prop.getProperty("mail.from")); System.out.println("mail.to=" + prop.getProperty("mail.to")); System.out.println("mail.smtp=" + prop.getProperty("mail.smtp")); System.out.println("mail.smtp.port=" + prop.getProperty("mail.smtp.port")); } catch (IOException e) { e.printStackTrace(); } finally { try { if (fileInputStream != null) { fileInputStream.close(); } } catch (IOException e) { e.printStackTrace(); } } } }
执行上面示例代码,得到以下结果 :
mail.from=abcd@yiibai.com mail.to=xyz@yiibai.com mail.smtp=10.10.10.10 mail.smtp.port=250
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/264099.html