Saya memiliki file properti yang dilokalkan dengan daftar pasangan nilai kunci. Saya ingin menulis nilai properti dalam bahasa Jepang, Cina, Jerman, dll. ke file dan juga ingin menyimpan tata letak file yang sudah ada dengan komentar dan spasi. Perlu menulis bahasa-bahasa ini dalam bentuk aslinya.
Saya mencoba menambahkan properti baru ("key = アカウント ナビゲーション コンポーネント") ke file properti yang ada menggunakan PropertiesConfigurationLayout. Dimungkinkan untuk menambahkan properti baru dalam bentuk aslinya dan PropertiesConfigurationLayout membantu menyimpan tata letak file. Namun format kunci yang ada akan diubah menjadi format unicode. Tautan yang berguna: (http://marjavamitjava.com/modifying-property-file-maintaining-order-well-comments/)
Ini adalah kode yang saya coba.
Kode:
File file = new File("base_ch.properties");
PropertiesConfiguration config = new PropertiesConfiguration();
config.setEncoding("UTF-8");
PropertiesConfigurationLayout layout = new PropertiesConfigurationLayout(config);
Properties props = new Properties();
try(InputStreamReader in = new InputStreamReader(new FileInputStream(file), "UTF-8"))
{
layout.load(in);
OutputStreamWriter out =new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
props.put("key","アカウント ナビゲーション コンポーネント");
layout.save(out);
props.store(out, null);
}
catch (ConfigurationException | IOException e) {
e.printStackTrace();
}
base_ch.properties mengarsipkan konten sebelum kode dijalankan:
# -----------------------------------------------------------------------
# All rights reserved.
# Comments included here
# -----------------------------------------------------------------------
#Tue May 22 13:41:37
account.quote.expiration.time.label = Gültig bis
address.zipcode = 邮政编码:
Konten file base_ch.properties setelah kode dijalankan:
# -----------------------------------------------------------------------
# All rights reserved.
# Comments included here
# -----------------------------------------------------------------------
#Tue May 22 13:41:37
account.quote.expiration.time.label = G\u00FCltig bis
address.zipcode = \u90AE\u653F\u7F16\u7801
#Wed Dec 06 17:40:04 IST 2017
key=アカウント ナビゲーション コンポーネント
Saya ingin menyimpan tata letak file tanpa perubahan apa pun dan harus mempertahankan properti yang ada dalam bentuk aslinya. Ia dapat menulis berbagai bahasa ke file properti menggunakan berbagai kelas, tetapi tata letak file akan berubah dalam kasus tersebut. PropertiesConfigurationLayout adalah satu-satunya cara yang saya temukan untuk menyimpan tata letak.
Ada yang bisa bantu saya?