आशा करते है आप ठीक हैं।

इसे छोटा करने के लिए: मेरा लक्ष्य एक फाइल को पढ़ना है जिसे मैंने एक डायलॉग बॉक्स के माध्यम से निकाला है। फ़ाइलपथ files नामक ऑब्जेक्ट में संग्रहीत होता है। पथ files.filePaths कुंजी के साथ निकालने योग्य है। मैं उस फ़ाइल के इनपुट को पढ़ना चाहता हूं (जो एक साधारण टेक्स्ट फ़ाइल है) और इसे एक स्ट्रिंग में परिवर्तित करना चाहता हूं।

const content = fs.readFileSync(files.filePaths.toString())      // here i converted it into a string
console.log(content)   // however, returns a Buffer Object

console.log(content.toString())       // This however returns the string.

क्या किसी को पता है कि मुझे इस मामले में दो बार टूस्ट्रिंग() का उपयोग क्यों करना है?

आपका बहुत बहुत धन्यवाद।

बेस्ट रेगैड्स

-1
M Hot 27 अप्रैल 2020, 16:15

2 जवाब

जिस फ़ाइल पथ को आप readFileSync पर भेजते हैं, वह readFileSync के रिटर्न मान से भिन्न मान है (जो एक बफर है जब तक कि (दस्तावेज कहता है) आप एक एन्कोडिंग विकल्प प्रदान करते हैं)।

0
Quentin 27 अप्रैल 2020, 16:16

Fs.readFile का उपयोग करते समय आपको एंडकोडिंग साबित करने की आवश्यकता होती है क्योंकि फ़ाइल पढ़ने के बाद एक बफर लौटाता है जिसे आप स्ट्रिंग या जो कुछ भी गधे के बाद कर सकते हैं।

const content = fs.readFileSync(files.filePaths,'utf-8') 
// or like this
const content = fs.readFileSync(files.filePaths).toString('utf-8')

0
ShobiDobi 27 अप्रैल 2020, 16:20