ฉันมีไฟล์คุณสมบัติที่แปลเป็นภาษาท้องถิ่นพร้อมรายการคู่คีย์-ค่า ฉันต้องการเขียนค่าคุณสมบัติเป็นภาษาญี่ปุ่น จีน เยอรมัน ฯลฯ ลงในไฟล์ และยังต้องการบันทึกเค้าโครงไฟล์ที่มีอยู่แล้วพร้อมความคิดเห็นและการเว้นวรรค จำเป็นต้องเขียนภาษาเหล่านี้ในรูปแบบของตนเอง
ฉันพยายามเพิ่มคุณสมบัติใหม่ ("key = アカウント ナビゲーしョン CON ンポーネント") ให้กับไฟล์คุณสมบัติที่มีอยู่โดยใช้ PropertiesConfigurationLayout เป็นไปได้ที่จะเพิ่มคุณสมบัติใหม่ในรูปแบบดั้งเดิมและ PropertiesConfigurationLayout ช่วยในการบันทึกเค้าโครงของไฟล์ แต่รูปแบบคีย์ที่มีอยู่จะถูกเปลี่ยนเป็นรูปแบบยูนิโค้ด ลิงค์ที่มีประโยชน์ : (http://marjavamitjava.com/modifying-property-file-maintaining-order-well-comments/)
นี่คือรหัสที่ฉันลอง
รหัส:
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 เนื้อหาไฟล์ก่อนรันโค้ด:
# -----------------------------------------------------------------------
# All rights reserved.
# Comments included here
# -----------------------------------------------------------------------
#Tue May 22 13:41:37
account.quote.expiration.time.label = Gültig bis
address.zipcode = 邮政编码:
base_ch.properties เนื้อหาไฟล์หลังจากการรันโค้ด:
# -----------------------------------------------------------------------
# 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=アカウント ナビゲーション コンポーネント
ฉันต้องการบันทึกเค้าโครงไฟล์โดยไม่มีการเปลี่ยนแปลงใดๆ และควรคงคุณสมบัติที่มีอยู่ในรูปแบบดั้งเดิมไว้ สามารถเขียนภาษาต่างๆ ลงในไฟล์คุณสมบัติโดยใช้คลาสต่างๆ ได้ แต่เค้าโครงไฟล์จะมีการเปลี่ยนแปลงในกรณีดังกล่าว PropertiesConfigurationLayout เป็นวิธีเดียวที่ฉันพบในการบันทึกเค้าโครง
ใครสามารถช่วยฉันได้บ้าง?