जावा में, यदि आप निश्चित रूप से कह एक फ़ाइल बहुत छोटा है, आप readBytes()
विधि का उपयोग कर सकते हैं एक में सामग्री को पढ़ने के लिए जाने के बजाय लाइन या बफर का उपयोग करके लाइन इसे पढ़ा।फ़ाइल सामग्री को एक चर में एक चर में कैसे पढ़ा जाए?
बस खोल स्क्रिप्ट में सोच, मुझे पता है हम की तरह कुछ कर सकते हैं: अगर मेरे test.file की तरह है
while read line
do
echo $line
LINE = $line
done < "test.file"
echo $LINE
:
testline1
testline2
testline3
यह केवल मुझे $LINE
के अंतिम पंक्ति देता है। $LINE
में "testline3" है।
मेरा प्रश्न है: मैं एक एकल चर में कई लाइनों के साथ पूरी फ़ाइल कैसे पढ़ सकते हैं, तो मैं $LINE="testline1\ntestline2\ntestline3"
मिल सकता है?
'आंकड़े = $ (बिल्ली फ़ाइल)', लेकिन तुम क्यों करना चाहते हो? जब भी आपको सामग्री चाहिए तो फ़ाइल को बस पढ़ें! –
दो चीजें सीधे आपके प्रश्न से संबंधित नहीं हैं: पहला, 'LINE = $ line' वास्तव में काम नहीं करता है; बराबर चिह्न के आस-पास की जगह इसे अमान्य प्रस्तुत करती है। दूसरा, यदि आप पाठ है कि आप सचमुच सुरक्षित रखना चाहते हैं जोड़ तोड़ रहे हैं, आप 'अशक्त करने के लिए IFS' अपने पढ़ने कॉल (अन्यथा अग्रणी प्रत्येक पंक्ति nuked हो जाएगा पर खाली स्थान के) के लिए सेट और' read' को '-r' विकल्प पास करना चाहिए और 'eE' विकल्प 'echo' (अन्यथा, आपकी फ़ाइल में कोई बैकस्लैश गड़बड़ कर देगा)। उदाहरण के लिए नीचे मेरा जवाब देखें। –
@ मार्ककिड: मैंने 'ईई' के उद्देश्य से बैश के डिफ़ॉल्ट व्यवहार के बाद से '-E' के उद्देश्य को कभी नहीं समझा है। –