Lire et écrire des fichiers de propriétés avec les caractères UTF-8
J'ai un fichier de propriété ,il contient de l'UTF-8 charecters.(Veuillez vous référer à l'exemple de l'un, j'ai collé ci-dessous.)
#-------------------------------------------------------------------------------
# Resource strings for Root SIP
#-------------------------------------------------------------------------------
# @TRNSLATION-NOTES/*
# * Don't translate the information in META-DATA-SEGMENT
# */@TRNSLATION-NOTES
# @META-DATA-SEGMENT/*
# Resource file related information (metadata)
#---
root.label.hpcards=HP képeslapok
root.label.128.2=HP barkácsolás
root.label.weather=Időjárás
root.label.401.2=Tête à modeler
#---
# Locale Information
#---
resource.meta.lang=ar
# */@META-DATA-SEGMENT
#---
# Labels
#---
# @TRNSLATION-NOTES/* 2010-08-11: Following are added. To be translated.
# */@TRNSLATION-NOTES
root.label.getmore=الحصول على المزيد
root.msg.apps=التطبيقات
root.msg.getmore=الرجاء زيارة الموقع www.hpeprintcenter.com لمعرفة المزيد حول التطبيقات وإدارة التطبيقات على هذه الطابعة. يختلف توفر التطبيق حسب البلد واللغة.
# @TRNSLATION-NOTES/* 2010-08-11: Above are added. To be translated.
# */@TRNSLATION-NOTES
root.label.2.2=قسيمات
root.label.35.2=MSNBC
root.label.43.2=PBS Kids
root.label.47.2=موجز Yahoo!
# @TRNSLATION-NOTES/* 2010-08-11: Following are added. To be translated.
# */@TRNSLATION-NOTES
root.label.dreamworks=DreamWorks
root.label.hpcards=البطاقات في HP
root.label.128.2=الأعمال اليدوية في HP
root.label.nickelodeon=Nickelodeon
root.label.quickforms=استمارات سريعة
root.label.recipes=وصفات الطعام
root.label.sudoku=سودوكو
root.label.tabbloid=Tabbloid
root.label.usatoday=USA Today
root.label.weather=حالة الطقس
#---
# Error Messages
#---
# @TRNSLATION-NOTES/* 1. The text before the first colon (i.e. Print Apps) is displayed as title in the screen
# */@TRNSLATION-NOTES
# @TRNSLATION-NOTES/* 2010-08-16: Following is to be translated.
# */@TRNSLATION-NOTES
root.msg.fault.project.perz=Print Apps: لم يتم تثبيت أي Apps على الطابعة لديك. يمكنك تثبيتApps على الطابعة باستخدام موقع Apps على ويب في عنوان URL التالي : www.hpeprintcenter.com
root.msg.fault.project.unexpected=تطبيقات الطباعة: غير متوفرة مؤقتًا. الرجاء المحاولة مرة أخرى لاحقًا.
J'ai modifier le contenu de ce fichier de propriétés.Processus d'édition, la réalisation avec succès.Mais après la modification de la propriété du fichier de sortie est affiché comme ci-dessous.
#UTF-8
#Fri Dec 09 15:17:55 IST 2011
root.label.nickelodeon=Nickelodeon
root.label.2.2=\u0642\u0633\u064A\u0645\u0627\u062A
root.label.sudoku=\u0633\u0648\u062F\u0648\u0643\u0648
\uFEFF\#-------------------------------------------------------------------------------=
root.label.401.2=T\u00EAte \u00E0 modeler
root.msg.apps=\u0627\u0644\u062A\u0637\u0628\u064A\u0642\u0627\u062A
root.label.35.2=MSNBC
root.label.43.2=PBS Kids
root.msg.fault.project.perz=Print Apps\: \u0644\u0645 \u064A\u062A\u0645 \u062A\u062B\u0628\u064A\u062A \u0623\u064A Apps \u0639\u0644\u0649 \u0627\u0644\u0637\u0627\u0628\u0639\u0629 \u0644\u062F\u064A\u0643. \u064A\u0645\u0643\u0646\u0643 \u062A\u062B\u0628\u064A\u062AApps \u0639\u0644\u0649 \u0627\u0644\u0637\u0627\u0628\u0639\u0629 \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0645\u0648\u0642\u0639 Apps \u0639\u0644\u0649 \u0648\u064A\u0628 \u0641\u064A \u0639\u0646\u0648\u0627\u0646 URL \u0627\u0644\u062A\u0627\u0644\u064A \: www.hpeprintcenter.com
root.label.getmore=\u0627\u0644\u062D\u0635\u0648\u0644 \u0639\u0644\u0649 \u0627\u0644\u0645\u0632\u064A\u062F
root.label.tabbloid=Tabbloid
root.label.128.2=\u0627\u0644\u0623\u0639\u0645\u0627\u0644 \u0627\u0644\u064A\u062F\u0648\u064A\u0629 \u0641\u064A HP
root.label.47.2=\u0645\u0648\u062C\u0632 Yahoo\!
root.label.86.3=MARMITON-1
root.label.hpcards=\u0627\u0644\u0628\u0637\u0627\u0642\u0627\u062A \u0641\u064A HP
root.label.weather=\u062D\u0627\u0644\u0629 \u0627\u0644\u0637\u0642\u0633
root.msg.fault.project.unexpected=\u062A\u0637\u0628\u064A\u0642\u0627\u062A \u0627\u0644\u0637\u0628\u0627\u0639\u0629\: \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631\u0629 \u0645\u0624\u0642\u062A\u064B\u0627. \u0627\u0644\u0631\u062C\u0627\u0621 \u0627\u0644\u0645\u062D\u0627\u0648\u0644\u0629 \u0645\u0631\u0629 \u0623\u062E\u0631\u0649 \u0644\u0627\u062D\u0642\u064B\u0627.
root.label.dreamworks=DreamWorks
resource.meta.lang=ar
root.label.quickforms=\u0627\u0633\u062A\u0645\u0627\u0631\u0627\u062A \u0633\u0631\u064A\u0639\u0629
root.label.recipes=\u0648\u0635\u0641\u0627\u062A \u0627\u0644\u0637\u0639\u0627\u0645
root.msg.getmore=\u0627\u0644\u0631\u062C\u0627\u0621 \u0632\u064A\u0627\u0631\u0629 \u0627\u0644\u0645\u0648\u0642\u0639 www.hpeprintcenter.com \u0644\u0645\u0639\u0631\u0641\u0629 \u0627\u0644\u0645\u0632\u064A\u062F \u062D\u0648\u0644 \u0627\u0644\u062A\u0637\u0628\u064A\u0642\u0627\u062A \u0648\u0625\u062F\u0627\u0631\u0629 \u0627\u0644\u062A\u0637\u0628\u064A\u0642\u0627\u062A \u0639\u0644\u0649 \u0647\u0630\u0647 \u0627\u0644\u0637\u0627\u0628\u0639\u0629. \u064A\u062E\u062A\u0644\u0641 \u062A\u0648\u0641\u0631 \u0627\u0644\u062A\u0637\u0628\u064A\u0642 \u062D\u0633\u0628 \u0627\u0644\u0628\u0644\u062F \u0648\u0627\u0644\u0644\u063A\u0629.
root.label.usatoday=USA Today
Voici le code que j'ai utilisé, pour lire un propery fichier de spécifique loacation et écrire du contenu.
private static void saveFile(String filePath, String propertyStr, String appName) throws IOException {
BufferedReader fis = new BufferedReader(new InputStreamReader(new FileInputStream(filePath),"UTF-8"));
Properties p = new Properties();
p.load(fis);
fis.close();
p.setProperty(propertyStr, appName);
p.store(new FileOutputStream(filePath), "UTF-8");
}
OriginalL'auteur divz | 2011-12-09
Vous devez vous connecter pour publier un commentaire.
Vous utilisez la mauvaise
store()
méthode - le deuxième paramètre n'est pas l'encodage à utiliser (il va utiliser ISO-8859-1 le traditionnel Propriétés de codage de fichiers, d'où l'Unicode échappe), mais un commentaire.La bonne méthode prend un
Writer
comme paramètre. Cela devrait fonctionner:mais-tête entre le contenu ne s'affichent pas
aussi le contenu de la propriété générée par le fichier n'est pas dans le même ordre par rapport à la première
J'ai peur, il n'y a rien que vous pouvez faire au sujet de ces choses. java.util.Propriétés n'est pas conçu pour conserver les commentaires et la structure des fichiers. C'est une très vieille classe. La plupart des gens utilisent seulement pour lire des fichiers, de ne pas écrire.
Ok,Mais alors que j'essaie d'ajouter une chaîne de caractères dans le fichier de propriétés.Pas de changements survenus à l'égard des titres amd commentaires
OriginalL'auteur Michael Borgwardt