का उपयोग कर जावा 8 में फ़ाइल में टेक्स्ट को जोड़ने के लिए कैसे मैं एक निर्दिष्ट Charset cs
का उपयोग कर जावा 8 में किसी मौजूदा फ़ाइल में टेक्स्ट जोड़ने के लिए एक आसान और सहेजने वाला समाधान ढूंढ रहा हूं। समाधान जो मुझे मिला here मानक Charset
से संबंधित है जो मेरी स्थिति में कोई नहीं है।निर्दिष्ट वर्णसेट
9
A
उत्तर
14
एक तरह से यह Files.write
that accepts a Charset की अतिभारित संस्करण का उपयोग करने के लिए:
import static java.nio.charset.StandardCharsets.UTF_8;
import static java.nio.file.StandardOpenOption.APPEND;
import static java.nio.file.StandardOpenOption.CREATE;
List<String> lines = ...;
Files.write(log, lines, UTF_8, APPEND, CREATE);
0
आप अमरूद Class Files से संलग्न विधि का उपयोग कर सकते हैं। इसके अलावा, आप java.nio.charset.Charset पर एक नज़र डाल सकते हैं।
3
Path path = Paths.get("...");
Charset charset = StandardCharsets.UTF_8;
List<String> list = Collections.singletonList("...");
Files.write(path, charset, list, StandardOpenOption.APPEND);
+1
छोटे टाइपो: StandardOpenOption.APPEND – Apostolos
+0
@ एपोस्टोलोस सही, धन्यवाद –
1
सवाल आप की दिशा में रखे में स्वीकार किए जाते हैं जवाब के आधार पर:
try (PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream("myfile.txt", true), charset)))) {
out.println("the text");
} catch (IOException e) {
//exception handling left as an exercise for the reader
}
संबंधित मुद्दे
- 1. क्यों URLEncoder.encode (स्ट्रिंग, वर्णसेट), URLDecoder.decode (स्ट्रिंग, वर्णसेट)
- 2. MySQL डिफ़ॉल्ट तालिका वर्णसेट को डेटाबेस वर्णसेट में बदलता है
- 3. जावा कंसोल वर्णसेट अनुवाद
- 4. डेटा में वर्णसेट यूआरआई
- 5. पेपैल आईपीएन ओवरराइड वर्णसेट
- 6. रेल अनुप्रयोग में सेट वर्णसेट
- 7. php fgetcsv - वर्णसेट एन्कोडिंग समस्या
- 8. सभी एएसपी.नेट एमवीसी HTTP प्रतिक्रियाओं को "वर्णसेट" जोड़ना
- 9. htmlentities के लिए डिफ़ॉल्ट वर्णसेट परिभाषित करें()
- 10. विशिष्ट वर्णसेट के साथ ट्रिम स्ट्रिंग
- 11. कोडइग्निटर कॉन्फ़िगरेशन वर्णसेट और यूटीएफ -8 समर्थन
- 12. ओरेकल जेडीबीसी वर्णसेट और 4000 चार सीमा
- 13. एंड्रॉइड: एक एसएमएस भेजते समय यूनिकोड/वर्णसेट समस्याएं (sendTextMessage)
- 14. जावा स्ट्रिंग .getBytes (charsetName) बनाम String.getBytes (वर्णसेट ऑब्जेक्ट)
- 15. एक वर्णसेट से एक नई स्ट्रिंग बनाना फेंकता NoSuchMethodError (Android)
- 16. जावा वर्णसेट .forName ("ASCII") या Charset.forName ("यूएस-ASCII")
- 17. जावा में स्ट्रिंग के वर्णसेट को कैसे जांचें?
- 18. लोड हो रहा है एक जावा वर्णसेट मैन्युअल
- 19. निर्दिष्ट
- 20. निर्दिष्ट नाम
- 21. निर्दिष्ट पूर्णांक
- 22. निर्दिष्ट रेक्ट
- 23. निर्दिष्ट वर्ग
- 24. "निर्दिष्ट त्रुटि"
- 25. निर्दिष्ट मूल्य
- 26. निर्दिष्ट सूचकांक
- 27. निर्दिष्ट प्रकार
- 28. निर्दिष्ट सीएसएस
- 29. निर्दिष्ट टेक्स्ट
- 30. निर्दिष्ट स्क्रीन
महान। मैं पहले से ही उस समारोह के बारे में सोच रहा था लेकिन मुझे नहीं पता था कि एक ओपनऑप्शन "ऐपेंड" है। मैंने बस "विकल्प - विकल्प निर्दिष्ट किया है कि फाइल कैसे खोली गई है" और सोचा: कोई रास्ता नहीं, यह फ़ंक्शन मेरी सहायता नहीं करेगा। –
पॉसिक्स एपीआई को जानना, इस मामले में 'खुला() ', ऐसी चीजों को समझने में मदद करता है। अंत में जावा केवल सिस्टम कार्यों पर रैपर प्रदान कर सकता है। यह जानना भी उपयोगी है कि यदि आप पर्याप्त शक्तिशाली नहीं हैं तो आप जेएनए के माध्यम से क्या कर सकते हैं। – the8472
@ प्रिंसिपल-आदर्श-डोमेन एफवाईआई, http://stackoverflow.com/a/29456593/1587046 से जुड़े प्रश्न में यह पहले से ही उत्तर दिया गया था और फिर आप यह देखने के लिए एपीआई देख सकते थे कि एक ओवरलोडेड संस्करण है जहां आप वर्णमाला https://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#write(java.nio.file.Path,%20java.lang.Iterable,% निर्दिष्ट कर सकते हैं 20java.nio.charset.Charset,% 20java.nio.file.OpenOption ...) –