मैं 50 जी फ़ाइल पढ़ रहा हूं जिसमें लाखों पंक्तियां न्यूलाइन कैरेक्टर से अलग हैं। वर्तमान में मैं निम्नलिखित वाक्य रचना का उपयोग कर रहा फ़ाइलजावा 50 गीगाबिट फ़ाइल पढ़ने में सुधार कैसे करें
String line = null;
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("FileName")));
while ((line = br.readLine()) != null)
{
// Processing each line here
// All processing is done in memory. No IO required here.
}
पढ़ने के लिए के बाद से फ़ाइल बहुत बड़ी है, यह 2 बजे ले जा रहा है पूरी फ़ाइल पर कार्रवाई करने। क्या मैं हार्डडिस्क से फ़ाइल को पढ़ने में सुधार कर सकता हूं ताकि आईओ (पठन) ऑपरेशन में न्यूनतम समय लगे। मेरे कोड के साथ प्रतिबंध यह है कि मुझे प्रत्येक पंक्ति अनुक्रमिक क्रम को संसाधित करना होगा।
जावा के 'BufferedReader' के कार्यान्वयन क्या है के माध्यम से पढ़ने के लिए ले जाता है हो सकता है? शायद आप अलग-अलग थ्रेड में ब्लॉक (ऑपरेटिंग सिस्टम और फ़ाइल सिस्टम को इष्टतम आकार के साथ) पढ़ने के द्वारा वहां सुधार कर सकते हैं। –
क्या आपका मतलब 50 जीबीटी या 50 गीबी है? –