วิธีการเขียนค่าคุณสมบัติหลายบรรทัดโดยใช้ PropertiesConfiguration


102

ฉันมีไฟล์คุณสมบัติที่มีคุณสมบัติที่มีค่ารายการ (คั่นด้วยเครื่องหมายจุลภาค) จะเขียนคุณสมบัตินี้ในหลายบรรทัดได้อย่างไร (แบ็กสแลชหลังเครื่องหมายจุลภาค)?

ฉันไม่พบอะไรเกี่ยวกับเรื่องนี้หรืออย่างน้อยก็เกี่ยวกับการหลีกเลี่ยงเครื่องหมายจุลภาคเป็นลูกน้ำและแบ็กสแลช


1
คุณช่วยชี้แจงได้ไหมฉันไม่แน่ใจว่าคุณกำลังพยายามทำอะไร
Aviram Segal

1
ฉันมีคุณสมบัติที่มี valie หลายบรรทัดเช่น: key1 = val1, \ val2, \ val3 key2 = hello val1, val2, val3 อยู่ในบรรทัดแยกกัน แต่เมื่อ PropertiesConfigurations เขียนลงในไฟล์มันจะเขียนเป็นไฟล์เดียว line
Uhkkgjhfjf Jgkjkhj

อาคุณกำลังพูดถึงว่ามันเขียนอย่างไร ... ตกลง
Aviram Segal

คำตอบ:



26

ตรวจสอบคู่มือผู้ใช้สำหรับไฟล์ Properties :

อักขระพิเศษและการหลบหนี :

หากคุณต้องการอักขระพิเศษในคุณสมบัติเช่นฟีดบรรทัดการจัดตารางหรืออักขระ Unicode คุณสามารถระบุด้วยสัญลักษณ์ที่ใช้ Escape แบบเดียวกับที่ใช้สำหรับ Java Strings ตัวคั่นรายการ ("," โดยค่าเริ่มต้น) สามารถใช้ Escape ได้เช่นกัน:

key = This \n string \t contains \, escaped \\ characters \u0020

แบ็กสแลชยากกว่า

รายการและอาร์เรย์ :

คุณสามารถระบุรายการของค่าในไฟล์คุณสมบัติของคุณโดยใช้คีย์เดียวกันในหลายบรรทัด:

# chart colors
colors.pie = #FF0000;
colors.pie = #00FF00;
colors.pie = #0000FF;

17

คุณต้องรวม\nอักขระภายในเนื้อหาและการเว้นบรรทัดต่อเนื่อง ( \<eol>ที่ส่วนท้ายของบรรทัด) เพื่อให้ได้คุณสมบัติหลายบรรทัดที่แสดงในไฟล์คุณสมบัติและในค่าที่ส่งคืน:

KEY1=first line\n\
second line\n\
last line
KEY2=another key

ไม่แน่ใจว่าสามารถกำหนดค่าคอมมอนส์ - คอนฟิกูเรชันให้ใช้ไวยากรณ์นี้ในการเขียนได้จริงหรือไม่


0

อีกทางเลือกหนึ่งคือการใช้หนึ่งในรูปแบบคุณสมบัติที่ออกแบบมาเพื่อรองรับค่าหลายบรรทัด

XML สามารถจัดการคุณสมบัติหลายบรรทัดได้ดี แต่มีเสียงรบกวนมาก

MProps: เป็นตัวอย่างของรูปแบบที่แทบไม่จำเป็นต้องมีการจัดรูปแบบพิเศษ: https://github.com/mprops/mprops-java

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.