try (Stream<String> lines = Files.lines(targetFile)) {
List<String> replacedContent = lines.map(line ->
StringUtils.replaceEach(line,keys, values))
.parallel()
.collect(Collectors.toList());
Files.write(targetFile, replacedContent);
}
मैं फ़ाइल की प्रत्येक पंक्ति में एकाधिक टेक्स्ट पैटर्न को प्रतिस्थापित करने का प्रयास कर रहा हूं। लेकिन मैं देख रहा हूं कि "\ r \ n" (बाइट समतुल्य 10 और 13) को केवल "\ r" (केवल 10) के साथ प्रतिस्थापित किया जा रहा है और मेरे तुलना परीक्षण विफल हो रहे हैं।स्ट्रीम का उपयोग करते हुए फ़ाइल पढ़ने के दौरान न्यूलाइन को कैसे संरक्षित करें - जावा 8
मैं न्यूलाइन को संरक्षित करना चाहता हूं क्योंकि वे इनपुट फ़ाइल में हैं और जावा उन्हें छूना नहीं चाहते हैं। क्या कोई सुझाव दे सकता है कि "\ r \ n" के लिए एक अलग डिफ़ॉल्ट प्रतिस्थापन का उपयोग किए बिना ऐसा करने का कोई तरीका है या नहीं।
लापता है कि के लिए खेद है: जब तक यह रिटर्न
null
फिर, एक
Scanner
का उपयोग कर लाइनों पढ़ें। अभी जोड़ा गया। – AshwiniRबस समस्या को अलग करने के लिए replaceEach को हटा दें और इसकी फ़ाइलें.लाइन() जो ऐसा करने लगती हैं। – AshwiniR
प्रतिस्थापन कहां हो रहा है? आपके द्वारा चिपकाए गए कोड ने स्ट्रिंग की एक सूची बनाई है, इसमें कोई नयालाइन वर्ण नहीं है। – mks