में बड़ी टेक्स्ट फ़ाइलों को पार्स करना मुझे जावा (1.6.x) में काफी बड़ी टेक्स्ट फ़ाइल को पार्स करने में दिलचस्पी है और यह सोच रहा था कि किस दृष्टिकोण (एस) को सर्वोत्तम अभ्यास माना जाएगा?रीयल-टाइम (जावा)
फ़ाइल शायद आकार में लगभग 1 एमबी होगी, और इसमें हजारों प्रविष्टियां होंगी;
Entry
{
property1=value1
property2=value2
...
}
आदि
मेरी पहली वृत्ति रेगुलर एक्सप्रेशन का उपयोग करने के लिए है, लेकिन मैं एक उत्पादन वातावरण में जावा का उपयोग करने का कोई पूर्व अनुभव है, और इतने अनिश्चित कितना शक्तिशाली java.util.regex वर्ग हैं हूँ ।
थोड़ा सा स्पष्टीकरण के लिए, मेरा आवेदन एक वेब ऐप (जेएसपी) होने जा रहा है जो फ़ाइल को प्रश्न में पार्स करता है और इसे प्राप्त होने वाले विभिन्न मूल्यों को प्रदर्शित करता है। वहां केवल एक फ़ाइल है जो पार्स हो जाती है (यह मेजबान पर किसी तृतीय पक्ष निर्देशिका में रहता है)।
ऐप का काफी कम उपयोग होगा (शायद यह केवल कुछ मुट्ठी भर उपयोगकर्ताओं को दिन में दो बार उपयोग कर रहा है), लेकिन यह महत्वपूर्ण है कि जब वे इसका उपयोग करते हैं, तो जानकारी जितनी जल्दी हो सके पुनर्प्राप्त की जाती है।
इसके अलावा, क्या हर बार इसे पार्स किए जाने पर फ़ाइल को स्मृति में लोड करने के लिए कोई सावधानी बरतनी पड़ती है?
क्या कोई यहां लेने के लिए एक दृष्टिकोण की सिफारिश कर सकता है?
धन्यवाद
क्या आपका मतलब रीयलटाइम या जल्दी है? दोनों बहुत अलग हैं। रीयलटाइम का तात्पर्य है कि आप अधिक इनपुट की प्रतीक्षा किए बिना प्रत्येक इनपुट के लिए उत्तर वापस देते हैं। यह अक्सर बैच प्रसंस्करण की तुलना में धीमी है। –
इसके अलावा, 1 मेग अब तक बड़ा नहीं माना जाता है जब तक कि आप 64 मेगाहर्ट्ज से कम मेमोरी वाली मशीन पर चल रहे हों। –
मेरा मतलब है जल्दी से - मैं वेब यूआई से सर्वर पर एक अनुरोध भेजना चाहता हूं, जो संकेत देगा कि इसे फ़ाइल को पार्स करना चाहिए और परिणामों को वापस करना चाहिए (जो भी डेटा संरचना उचित है) और फिर उन्हें प्रदर्शित करने के लिए संसाधित करें यूआई –