Saya memiliki daftar pasangan kunci / nilai nilai konfigurasi yang ingin saya simpan sebagai file properti Java, dan kemudian memuat dan mengulanginya.
Pertanyaan:
- Apakah saya perlu menyimpan file dalam paket yang sama dengan kelas yang akan memuatnya, atau adakah lokasi spesifik di mana ia harus ditempatkan?
- Apakah file harus diakhiri dengan ekstensi tertentu atau tidak
.txt
apa - apa? - Bagaimana saya dapat memuat file dalam kode
- Dan bagaimana saya bisa mengulanginya melalui nilai-nilai di dalamnya?
java
properties
Klik Upvote
sumber
sumber
null
. Lihat Javadocproperties.load(PropertiesReader.class.getResourceAsStream("/properties.properties"));
itu,getResourceAsStream
versusFileInputStream
? Pro dan kontra?Anda dapat menyimpan file di mana saja Anda suka. Jika Anda ingin menyimpannya di file jar Anda, Anda akan ingin menggunakan
Class.getResourceAsStream()
atauClassLoader.getResourceAsStream()
mengaksesnya. Jika ada di sistem file itu sedikit lebih mudah.Ekstensi apa pun baik-baik saja, meskipun .properties lebih umum dalam pengalaman saya
Memuat file menggunakan
Properties.load
, lewat di sebuahInputStream
atauStreamReader
jika Anda menggunakan Java 6. (Jika Anda sedang menggunakan Java 6, aku mungkin menggunakan UTF-8 danReader
bukan default ISO-8859-1 encoding untuk sungai. )Iterasi melalui itu karena Anda akan beralih melalui normal
Hashtable
(yangProperties
berasal dari), misalnya menggunakankeySet()
. Atau, Anda dapat menggunakan enumerasi yang dikembalikan olehpropertyNames()
.sumber
Jika Anda meletakkan file properti dalam paket yang sama dengan kelas Foo, Anda dapat dengan mudah memuatnya
Mengingat bahwa Properties memperluas Hashtable, Anda dapat mengulangi nilai-nilai dengan cara yang sama seperti yang Anda lakukan dalam Hashtable.
Jika Anda menggunakan ekstensi * .properties Anda bisa mendapatkan dukungan editor, misalnya Eclipse memiliki editor file properti.
sumber
Ada banyak cara untuk membuat dan membaca
properties
file:.properties
ekstensi namun Anda dapat memilih sendiri.java.util
paket =>Properties
,ListResourceBundle
,ResourceBundle
kelas.Properties
ataujava.lang.System
kelas.ResourceBundle
kelas:Properties
kelas:sumber
.properties
ekstensi saja? apa yang salah dengan ekstensi '.txt'? tolong bantu saya.Ini memuat file properti:
Saya gunakan untuk meletakkan file .properties di direktori di mana saya memiliki semua file konfigurasi, saya tidak meletakkannya bersama-sama dengan kelas yang mengaksesnya, tetapi tidak ada batasan di sini.
Untuk nama ... Saya menggunakan .properties demi kata kerja, saya tidak berpikir Anda harus memberi nama .properties jika Anda tidak mau.
sumber
Contoh:
sumber
Properti telah menjadi warisan. Preferensi kelas lebih disukai ke Properties.
Tidak seperti properti yang merupakan pasangan nilai kunci berbasis String,
Preferences
kelas ini memiliki beberapa metode yang digunakan untuk mendapatkan dan menempatkan data primitif di penyimpanan data Preferensi. Kami hanya dapat menggunakan tipe data berikut:Untuk memuat file properti, Anda bisa memberikan path absolut atau gunakan
getResourceAsStream()
jika file properti ada di classpath Anda.file xml:
Lihat artikel ini di internal toko preferensi
sumber
Dalam urutan:
sumber
2. no extension is necessary
, Tolong beri saya referensi untuk pernyataan ini. Saya bingung tentang itu.Secara default, Java membukanya di direktori kerja aplikasi Anda (perilaku ini sebenarnya tergantung pada OS yang digunakan). Untuk memuat file, lakukan:
Dengan demikian, ekstensi file apa pun dapat digunakan untuk file properti. Selain itu, file tersebut juga dapat disimpan di mana saja, selama Anda dapat menggunakan file
FileInputStream
.Pada catatan terkait jika Anda menggunakan kerangka kerja modern, kerangka kerja dapat memberikan cara tambahan untuk membuka file properti. Misalnya, Spring menyediakan a
ClassPathResource
untuk memuat file properti menggunakan nama paket dari dalam file JAR.Adapun iterasi melalui properti, setelah properti dimuat mereka disimpan dalam
java.util.Properties
objek, yang menawarkanpropertyNames()
metode ini.sumber
Membaca file properti dan memuat isinya ke
Properties
Berikut ini adalah cara yang efisien untuk beralih ke a
Properties
sumber
Di Java 8 untuk mendapatkan semua properti Anda
sumber
1) Ada baiknya memiliki file properti Anda di classpath tetapi Anda dapat menempatkannya di mana saja dalam proyek.
Di bawah ini adalah cara Anda memuat file properti dari classpath dan membaca semua properti.
2) File properti memiliki ekstensi sebagai .properties
sumber
Berikut ini cara lain untuk beralih dari properti:
sumber
Saya telah menulis tentang kerangka kerja properti ini selama setahun terakhir. Ini akan memberikan beberapa cara untuk memuat properti, dan meminta mereka mengetik dengan kuat juga.
Lihat http://sourceforge.net/projects/jhpropertiestyp/
JHPropertiesTyped akan memberi pengembang properti yang sangat diketik. Mudah diintegrasikan dalam proyek yang ada. Ditangani oleh seri besar untuk tipe properti. Memberikan kemampuan untuk menginisialisasi satu baris properti melalui implementasi IO properti. Memberi pengembang kemampuan untuk membuat jenis properti dan properti milik sendiri. Demo web juga tersedia, tangkapan layar ditunjukkan di atas. Juga memiliki implementasi standar untuk ujung depan web untuk mengelola properti, jika Anda memilih untuk menggunakannya.
Dokumentasi lengkap, tutorial, javadoc, faq dll tersedia di halaman web proyek.
sumber
Kelas statis siap di sini
Di sini sampel:
sumber
Anda dapat memuat file properti dengan cara berikut:
Dan kemudian Anda dapat beralih di atas peta menggunakan ekspresi lambda seperti:
sumber
menurut pendapat saya cara lain sudah usang ketika kita bisa melakukannya dengan sangat sederhana seperti di bawah ini:
itu sangat sederhana tetapi saya pikir itu cara terbaik !! Nikmati
sumber