में एक विशाल फ़ाइल.txt की सॉर्टिंग लाइनें मैं एक बहुत बड़ी टेक्स्ट फ़ाइल (755 एमबी) के साथ काम कर रहा हूं। मुझे लाइनों को क्रमबद्ध करने की आवश्यकता है (लगभग 18 9 0000) और फिर उन्हें दूसरी फ़ाइल में वापस लिखें।जावा
मैं पहले से ही है कि चर्चा एक प्रारंभिक फ़ाइल वास्तव में मेरा जैसी ही है कि देखा: Sorting Lines Based on words in them as keys
समस्या यह है कि मैं क्योंकि मैं एक जावा ढेर अंतरिक्ष अपवाद (भले ही मिल स्मृति में एक संग्रह में लाइनों संग्रहीत नहीं कर सकता है मैं अधिकतम पर इसका विस्तार) .. (पहले से ही करने की कोशिश की!)
मैं या तो एक्सेल के साथ यह नहीं खोल सकता और क्योंकि फ़ाइल बहुत बड़ी है छँटाई सुविधा का उपयोग और यह पूरी तरह से लोड नहीं किया जा सकता ..
मैं एक डीबी का उपयोग करने के बारे में सोचा .. लेकिन मुझे लगता है कि आप सभी लाइनों को लिखते हैं तो आप SELECT क्वेरी से निष्पादित समय के मामले में यह बहुत लंबा है..मैं गलत हूँ?
कोई संकेत सराहना अग्रिम
अच्छा, "बहुत लंबा" आपकी अपेक्षाओं पर निर्भर करता है। यदि आप इसे आधे सेकेंड में करने की उम्मीद करते हैं, तो यह वास्तव में बहुत लंबा होगा। यदि आपको कुछ सेकंड या मिनट की प्रतीक्षा करने में कोई फर्क नहीं पड़ता है, तो यह कोई समस्या नहीं होनी चाहिए। इसे आज़माएं, और देखें कि समय उचित है या नहीं। –
आप जावा के नवीनतम संस्करणों का उपयोग कर फ़ाइल को लगभग 1 जीबी ढेर के साथ मेमोरी में स्टोर करने में सक्षम होना चाहिए। यानी '-XX: + UseCompressedStrings' –