इस सवाल का पहले से ही एक उत्तर है: < / P>
- 4 जवाब
मेरे पास एक प्रोग्राम चल रहा है जो लिखते हैं कि एक फाइल में लॉग इन करें और मैं लाइन से इसे लाइन पढ़ना चाहता हूँ मैंने
InputStream का उपयोग करने की कोशिश की, खासकरDataInputStream , इसकी उपलब्ध विधि का उपयोग करके लेकिन फिर इसमेंreadLine विधि नहीं है, इसे नापसंद किया गया है और इसेBufferedReader मेंreadLine का उपयोग करने के लिए इसे लपेटने का सुझाव दिया गया है। लेकिन जब मैंBufferedReader का उपयोग करता हूं तो यह सभी पंक्तियों को नहीं पढ़ता है, यह किसी भी तरह से एक पंक्ति को पढ़ने से रोकता है।सार्वजनिक शून्य पढ़ें (DataInputStream ins) {try {while (सच) {if (ins.available () & gt; 0) {// BufferedReader रीडर = नया BufferedReader (नया InputStreamReader (INS)); //System.out.println (reader.readLine ()); Println (ins.readLine ()); } और {थ्रेड। नींद (200); }}} पकड़ (अपवाद ई) {e.printStackTrace (); }}इसलिए, कोड
ins.readLine () के साथ काम करता है, लेकिन इसे नापसंद किया गया है और जावा प्रलेखन के अनुसार यहBufferedReade आर। लेकिनreader.readLine () के साथ यह उम्मीद करता है कि यह काम नहीं कर रहा है।इसके अलावा, यह करने के लिए जो अन्य बेहतर जावा तरीका है, क्योंकि मुझे यकीन है कि यह कुछ मानक समस्या है। मैं ट्रेलर वर्ग के बारे में कहीं पढ़ता हूं। लेकिन यह परीक्षण करने में सक्षम नहीं है।
से
चाल एक java.io का उपयोग करना है RandomAccessFile, और समय-समय पर जांचें कि क्या फाइल की लंबाई अधिक है कि आपकी वर्तमान फ़ाइल स्थिति। यदि यह है, तो आप डेटा पढ़ा। जब आप लंबाई मारा, तो आप प्रतीक्षा करें धोने, कुल्ला, दोहराने।आप पारस्परिक बहिष्कार के साथ सौदा करने की आवश्यकता होगी (हालांकि केवल एक ही बात एक समय में पढ़ सकते हैं या आपके डेटा को भ्रष्ट किया जा सकता है)
यदि आप एक बफ़रेड रीडर का उपयोग कर रहे हैं, तो यह एक समय में एक पंक्ति में पढ़ता है। यदि आप एक से अधिक में पढ़ना चाहते हैं, तो आप ऐसा लूप का उपयोग कर सकते हैं:
BufferedReader br = नया BufferedReader (नया FileReader ("file.txt")); जबकि ((sCurrentLine = br.readline ()) = नल) {System.out.println (sCurrentLine); }यह एक आईओएक्सेशन फ्इआई का कारण बन सकता है इसलिए इसे कोशिश / कैच में लपेटें या अपनी विधि को फेंक दें और इसके साथ सौदा करें।
स्रोत:
No comments:
Post a Comment