solusi hoat4 sangat elegan dan sederhana. Ia bekerja untuk semua file ini waras . Namun, saya telah melihat banyak yang memiliki karakter spasi yang tidak lolos di kuncinya .
Untuk mengatasi ini, saya telah mengunduh dan memodifikasi salinan java.util.Properties
. Meskipun ini sedikit tidak ortodoks, dan jangka pendek, mod sebenarnya hanyalah beberapa baris dan cukup sederhana. Saya akan ajukan proposal ke komunitas JDK untuk memasukkan perubahan tersebut.
Dengan menambahkan variabel kelas internal:
private boolean _spaceCharOn = false;
Saya mengontrol pemrosesan yang terkait dengan pemindaian untuk titik pemisahan kunci / nilai. Saya mengganti kode pencarian karakter spasi dengan metode privat kecil yang mengembalikan boolean tergantung pada status variabel di atas.
private boolean isSpaceSeparator(char c) {
if (_spaceCharOn) {
return (c == ' ' || c == '\t' || c == '\f');
} else {
return (c == '\t' || c == '\f');
}
}
Metode ini digunakan di dua tempat dalam metode privat load0(...)
.
Ada juga metode publik untuk mengaktifkannya, tetapi akan lebih baik menggunakan versi asli Properties
jika pemisah spasi tidak menjadi masalah untuk aplikasi Anda.
Jika ada minat, saya bersedia memposting kode ke IniFile.java
file saya . Ia bekerja dengan salah satu versi Properties
.