package apistudy; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.UnsupportedEncodingException; import java.util.Properties; public class PropertiesTest { public static void main(String[] args) { String readfile = "d:" + File.separator + "readfile.properties"; String writefile = "d:" + File.separator + "writefile.properties"; String readxmlfile = "d:" + File.separator + "readxmlfile.xml"; String writexmlfile = "d:" + File.separator + "writexmlfile.xml"; String readtxtfile = "d:" + File.separator + "readtxtfile.txt"; String writetxtfile = "d:" + File.separator + "writetxtfile.txt"; readPropertiesFile(readfile); //讀取properties文件 writePropertiesFile(writefile); //寫properties文件 readPropertiesFileFromXML(readxmlfile); //讀取XML文件 writePropertiesFileToXML(writexmlfile); //寫XML文件 readPropertiesFile(readtxtfile); //讀取txt文件 writePropertiesFile(writetxtfile); //寫txt文件 } //讀取資源文件,並處理中文亂碼 public static void readPropertiesFile(String filename) { Properties properties = new Properties(); try { InputStream inputStream = new FileInputStream(filename); properties.load(inputStream); inputStream.close(); //關閉流 } catch (IOException e) { e.printStackTrace(); } String username = properties.getProperty("username"); String passsword = properties.getProperty("password"); String chinese = properties.getProperty("chinese"); try { chinese = new String(chinese.getBytes("ISO-8859-1"), "GBK"); // 處理中文亂碼 } catch (UnsupportedEncodingException e) { e.printStackTrace(); } System.out.println(username); System.out.println(passsword); System.out.println(chinese); } //讀取XML文件,並處理中文亂碼 public static void readPropertiesFileFromXML(String filename) { Properties properties = new Properties(); try { InputStream inputStream = new FileInputStream(filename); properties.loadFromXML(inputStream); inputStream.close(); } catch (IOException e) { e.printStackTrace(); } String username = properties.getProperty("username"); String passsword = properties.getProperty("password"); String chinese = properties.getProperty("chinese"); //XML中的中文不用處理亂碼,正常顯示 System.out.println(username); System.out.println(passsword); System.out.println(chinese); } //寫資源文件,含中文 public static void writePropertiesFile(String filename) { Properties properties = new Properties(); try { OutputStream outputStream = new FileOutputStream(filename); properties.setProperty("username", "myname"); properties.setProperty("password", "mypassword"); properties.setProperty("chinese", "中文"); properties.store(outputStream, "author: shixing_11@sina.com"); outputStream.close(); } catch (IOException e) { e.printStackTrace(); } } //寫資源文件到XML文件,含中文 public static void writePropertiesFileToXML(String filename) { Properties properties = new Properties(); try { OutputStream outputStream = new FileOutputStream(filename); properties.setProperty("username", "myname"); properties.setProperty("password", "mypassword"); properties.setProperty("chinese", "中文"); properties.storeToXML(outputStream, "author: shixing_11@sina.com"); outputStream.close(); } catch (IOException e) { e.printStackTrace(); } } }