- 快捷鍵
- Ctrl + Alt + Space show template proposals
- 還是不習慣AS的快捷鍵,直接將Android Studio的快捷鍵快速設置為Eclipse的快捷鍵。
- File > Settings > 輸入 keymap > 在keymaps選項中,選擇Eclipse,即可。
- 顯示行數(line number)
- File > Settings > Editor > General > Appearance > Show line number打勾即可。
import java.io.*;
import java.util.Properties;
private static Properties props = new Properties();
//一個key對應一個value
props.setProperty("key1", "value1");
props.setProperty("key2", "中文測試");
System.out.println("在console 印出props中所有的(key, value)配對");
props.list(System.out);
System.out.println();
//重覆設定相同的key不同的value,則key對映之舊value會被新value覆蓋
System.out.println("印出更改後所有的(key, value)配對");
props.setProperty("key1", "更改value1");
props.list(System.out);
System.out.println();
try {
// 輸出props中所有的(key, value)配對到xml(storeToXML)及txt(store)
// 輸出後Stream不會自動關閉必須手動關閉,否則有可能出錯(不是在()中使用new時)
// storeToXML(OutputStream os, Stirng comment, String encode)
// storeToXML(OutputStream os, Stirng comment) encode預設使用 UTF-8
props.storeToXML(new FileOutputStream("properties.xml"), "storeToXML");
props.store(new FileOutputStream("properties.properties"), "store");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
props.clear();
try {
// props.getProperty(key)讀出(key, value)配對
// props.getProperty(String key, String defaultWhenNotFound)
// props.getProperty(String key) throws exception when not found
System.out.println("props.getProperty(key)讀出(key, value)配對");
// default value test props.load(new FileInputStream("properties.properties"));
System.out.println(props.getProperty("key", "test")); System.out.println(props.getProperty("key1"));
props.clear();
System.out.println();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
// 印出從 properties.xml 讀出的所有(key, value)配對
System.out.println("印出properties.xml讀出的所有(key, value)配對");
props.loadFromXML(new FileInputStream("properties.xml"));
props.setProperty("key3", "new value");
props.list(System.out);
// 將新配對寫回 properties.xml,串流沒出錯
props.storeToXML(new FileOutputStream("properties.xml"), "storeToXML");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
----------------------------------------------------------
輸出結果:
在console 印出props中所有的(key, value)配對
-- listing properties --
key2=中文測試
key1=value1
印出更改後所有的(key, value)配對
-- listing properties --
key2=中文測試
key1=更改value1
props.getProperty(key)讀出(key, value)配對
test
更改value1
印出properties.xml讀出的所有(key, value)配對
-- listing properties --
key3=new value
key2=中文測試
key1=更改value1
----------------------------------------------------------
產生的 properties.properties內容:
#store
#Sat Aug 17 15:39:54 CST 2013
key2=\u4E2D\u6587\u6E2C\u8A66
key1=\u66F4\u6539value1
使用 store 所產生的文件並不直接支援中文,所以建議使用 storeToXML
假如為了要看的見中文而使用xml會使得檔案的字元數變得更多,讓檔案size變得更大。不是一個好的建議方法。而是依照使用需求再做決定xml還是properties。
----------------------------------------------------------
產生的 properties.xml內容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>storeToXML</comment>
<entry key="key3">new value</entry>
<entry key="key2">中文測試</entry>
<entry key="key1">更改value1</entry>
</properties>
在Eclipse讀取properties檔案下,預設的text editor會把中文顯示成Unicode的編碼方式,實際上系統讀進來的字還是對的。所以解決的點應該是讓properties可以顯示中文。 解決方法