यदि फ़ाइलों को पढ़ना बहुत बड़ा है तो आप पढ़ने के प्रदर्शन को बेहतर बनाने के लिए FileReader
के शीर्ष पर BufferedReader
का उपयोग करना चाहेंगे।
या आप कुछ likethis कोशिश कर सकते हैं: -
BufferedReader br = new BufferedReader(new FileReader("file.txt"));
try {
StringBuilder sb = new StringBuilder();
String line = br.readLine();
while (line != null) {
sb.append(line);
sb.append("\n");
line = br.readLine();
}
String everything = sb.toString();
} finally {
br.close();
}
या आप इस कार्यक्रम की कोशिश कर सकते हैं। यह तेजी से बड़ी फ़ाइलों के लिए काम करता है: -
public String readDoc(File f) {
String text = "";
int read, N = 1024 * 1024;
char[] buffer = new char[N];
try {
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
while(true) {
read = br.read(buffer, 0, N);
text += new String(buffer, 0, read);
if(read < N) {
break;
}
}
} catch(Exception ex) {
ex.printStackTrace();
}
return text;
}
स्रोत
2012-11-20 19:06:09
आप ठोस सबूत नहीं है कि फ़ाइल से पढ़ने के लिए अपने कार्यक्रम में अड़चन है है? बाद में डेटा के साथ आप क्या कर रहे हैं, और फ़ाइल कितनी बड़ी है? ध्यान दें कि मैं 'फ़ाइल रीडर' से बचूंगा - 'इनपुटस्ट्रीम रीडर' रैपिंग 'फ़ाइल इनपुट स्ट्रीम' का उपयोग करें, ताकि आप स्पष्ट रूप से एन्कोडिंग सेट कर सकें। –
शायद आपकी बाधा फ़ाइल को पढ़ने के बजाए लाइन को विभाजित कर रही है? String.split() को तेज़ करने के तरीके हैं। मेरे अनुभव से, BufferedReader बहुत तेज़ है। – Serg
सैद्धांतिक रूप से, जावा एनआईओ आईओ –