मैं जावा में एक टेक्स्ट फ़ाइल की पहली पंक्ति को खाली करना चाहता हूं। यह फ़ाइल कई गीगाबाइट्स है और मैं एक प्रतिलिपि नहीं करना चाहता हूं। this post से सुझाव का उपयोग करके, मैं RandomAccessFile का उपयोग करके ऐसा करने का प्रयास कर रहा हूं, हालांकि यह बहुत अधिक लिख रहा है।मैं जावा में एक बड़ी फ़ाइल की पहली पंक्ति को कैसे बदल सकता हूं?
यहाँ मेरी कोड है:
RandomAccessFile raInputFile = new RandomAccessFile(inputFile, "rw");
origHeaderRow = raInputFile.readLine();
raInputFile.seek(0);
raInputFile.writeChars(Strings.repeat(" ",origHeaderRow.length()));
raInputFile.close();
और अगर आप कुछ नमूना इनपुट और आउटपुट चाहते हैं, यहाँ क्या होता है:
से पहले:
first_name,last_name,age
Doug,Funny,10
Skeeter,Valentine,9
Patti,Mayonnaise,11
Doug,AlsoFunny,10
के बाद:
alentine,9
Patti,Mayonnaise,11
Doug,AlsoFunny,10
इन यह उदाहरण, अधिकांश संपादकों में फ़ाइल 24 रिक्त स्थान के साथ सही ढंग से शुरू होती है, लेकिन 48 वर्ण (न्यूलाइन समेत) को प्रतिस्थापित कर दिया गया है। यहां चिपकने के बाद मैं अजीब प्रश्न चिह्न चीजें देखता हूं। डबल आकार प्रतिस्थापन मुझे कुछ चीज बनाता है जो एन्कोडिंग को गड़बड़ कर रहा है लेकिन मैंने उसी परिणाम के साथ लिखने की कोशिश की।
यय मेरे नाम का उपयोग करने के लिए! –
बस इतना ही पता है, आधुनिक फाइल सिस्टम के साथ "जगह में" फ़ाइल को संपादित करना असंभव है। एक नई प्रति हमेशा बनाई जाती है। – toto2
फ़ाइल में कौन सी एन्कोडिंग है? 1521? UTF8? UCS2? –