2011-11-25 8 views
7

मैं जानना चाहता हूं कि अगर जावा/स्कैला में "स्ट्रिंग ऑब्जेक्ट जो फ़ाइल के रूप में कार्य कर सकता है" पायथन में स्ट्रिंगियो के रूप में? मुझे लगता है कि यह अस्थायी फ़ाइल को लिखने और पढ़ने से बेहतर होगा। मैं स्कैला पसंद करता हूं लेकिन जावा भी ठीक होना चाहिए।क्या स्कैला/जावा में अजगर से स्ट्रिंगियो की तरह कुछ है?

उत्तर

3

यह इस बात पर निर्भर करता है कि इसका उपयोग कैसे किया जा रहा है। आप देखते हैं, जबकि आप पाइथन, में एक फ़ाइल के साथ सामान करते हैं, तो आप जावा में File के साथ कुछ भी नहीं करते हैं!

  • InputStream और OutputStream
  • Reader और Writer: ठीक है, एक तरफ जावा और स्काला में अनुमति जाँच, बनाने, आदि

    सभी मैं/हे जैसे कार्यों से दो अवधारणाओं में से एक पर आधारित है

आप है इन कक्षाओं में एक File के रूप में पारित करने की एक बना सकता हूँ क्या पैरामीटर। इसलिए, यदि आप जो भी एपीआई उपयोग कर रहे हैं वह File प्राप्त करने का इरादा है, तो आप इसके बारे में कुछ भी नहीं कर सकते हैं। हालांकि, एपीआई आमतौर पर उपर्युक्त वर्गों में से एक लेते हैं, न कि File, और उनमें से सभी में एक स्ट्रिंग-संस्करण उपलब्ध है।

स्कैला के लिए, scala.io.Stream भी है, जिसके लिए आप String पर आधारित भी बना सकते हैं।

+0

मेरा इरादा यह है कि चूंकि जावा जावा/स्कैला में डेटा उत्पन्न होता है, इसलिए मैं इसे किसी अन्य फ़ंक्शन पर पास करने से पहले इसे अपनी डिस्क पर लिखना नहीं चाहता हूं जिसके लिए फ़ाइल की आवश्यकता होती है (जिसमें, मेरे पास कोई स्रोत नहीं है।)। लेकिन जब मैं अपना कोड लिखता हूं तो मैं इसे ध्यान में रखूंगा। स्पष्ट स्पष्टीकरण के लिए धन्यवाद। –

1

जावा में ByteArrayOutputStream है।

OutputStream out = new ByteArrayOutputStream(); 
out.write(...); 
String result = new String(out.toByteArray()); 
11

मुझे विश्वास है कि StringWriter वह है जिसे आप ढूंढ रहे हैं।

+0

मुझे यकीन नहीं है कि मैं यही देख रहा हूं। मैं जानना चाहता हूं कि कोई वर्ग है जो मैं स्ट्रिंग की तरह हेरफेर कर सकता हूं लेकिन फ़ंक्शन के लिए तर्क के रूप में भी उपयोग कर सकता हूं जो पैरामीटर के रूप में फ़ाइल चाहता है। –

+0

@Tg: नहीं, उस स्थिति में ऐसा कुछ भी नहीं है जो आप कर सकते हैं, क्योंकि फाइल मूल रूप से पथ के चारों ओर एक रैपर है, इसमें सामग्री तक पहुंचने के लिए कोई तरीका नहीं है। –

+0

ठीक है तो। मैं स्ट्रिंगियो का उपयोग करना चाहता हूं क्योंकि मैंने इसे पायथन में भारी मात्रा में इस्तेमाल किया था। मुझे लगता है मुझे इसे पहले लिखना है। –

संबंधित मुद्दे