FileOutputStream को FileInputStream में परिवर्तित करने का सबसे आसान तरीका क्या है (कोड का एक टुकड़ा बहुत अच्छा होगा)?FileOputputStream FileInputStream में
उत्तर
यह आपकी मदद कर सकता है:
http://ostermiller.org/convert_java_outputstream_inputstream.html
यह लेख 3 संभावनाएं का उल्लेख है:
- एक बाइट सरणी में पूरा उत्पादन लिखना तो इसे फिर से
- उपयोग पाइप
- पढ़ एक गोलाकार बाइट बफर (उस पृष्ठ पर होस्ट की गई लाइब्रेरी का हिस्सा) का उपयोग करें
बस संदर्भ के लिए , यह इसका उल्टा (उत्पादन के लिए इनपुट) कर रही:
साथ अपाचे कॉमन्स आईओ एक सरल समाधान होगा:
IOUtils.copyLarge(InputStream, OutputStream)
या यदि आप बस एक फ़ाइल कॉपी करना चाहते हैं:
FileUtils.copyFile(inFile,outFile);
यदि आप अपाचे कॉमन्स आईओ का उपयोग नहीं करना चाहते हैं, तो यहां है टी copyLarge
विधि करता है:
public static long copyLarge(InputStream input, OutputStream output) throws IOException
{
byte[] buffer = new byte[4096];
long count = 0L;
int n = 0;
while (-1 != (n = input.read(buffer))) {
output.write(buffer, 0, n);
count += n;
}
return count;
}
लिंक टूटा हुआ है, लेकिन आप अभी भी मूल उत्तर यहां प्राप्त कर सकते हैं: https://web.archive.org/web /20110929161214/http://ostermiller.org/convert_java_outputstream_inputstream.html – GregT
आप @Thomas उदाहरण दिया उपयोग कर सकते हैं, अन्यथा आप कर सकते हैं:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
public class FileInputOutputExample {
public static void main(String[] args) throws Exception {
InputStream is = new FileInputStream("in.txt");
OutputStream os = new FileOutputStream("out.txt");
int c;
while ((c = is.read()) != -1) {
System.out.print((char) c);
os.write(c);
}
is.close();
os.close();
}
}
उदाहरण से java2s.com
संपादित करें:
के रूप में @ थॉमस ने अपना जवाब हटा दिया, मैं इसे संदर्भित करने के लिए संदर्भ कॉमन्स आईओ दृष्टिकोण के लिए जोड़ दूंगा:
IOUtils.copy(InputStream is, OutputStream os)
मैं यह देखने में असफल रहा कि यह "फ़ाइलऑटपुटस्ट्रीम 'को' फ़ाइल इनपुट स्ट्रीम 'में परिवर्तित कर रहा है।" –
दरअसल मेरा उदाहरण दूसरा रास्ता था (आउटपुट में इनपुट), इसलिए मैंने इसे हटा दिया। यदि यह अभी भी प्रासंगिक है, तो मैं संदर्भ के लिए इसे हटा सकता हूं। – Thomas
@ मार्क: यह सच है, मैंने अभी माना है कि वह दूसरे को – Kris
यदि आप का मतलब है कि आप लिखने के बाद सामग्री को पढ़ने के बिना (डिस्क पर फ्लश किए बिना) पढ़ने में सक्षम होना चाहते हैं, तो बाइटएरेऑटपुटस्ट्रीम और बाइटएरे इनपुट इनपुट का उपयोग करें। एक बार जब आप ByteArrayOutputStream पर लिख लेते हैं, तो आप अंतर्निहित बाइट डेटा प्राप्त कर सकते हैं और इसे वापस पढ़ने के लिए बाइटएरे इनपुट इनपुट का उपयोग कर सकते हैं।
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
// do any output onto outStream you need
ByteArrayInputStream inStream = new ByteArrayInputStream(outStream.toByteArray());
// you can read back the output with inStream now
आप एक बफर (निर्माता/उपभोक्ता प्रकार समस्या) चाहते हैं, जावा के NIO पैकेज के साथ प्रदान की बफ़र पर गौर।
मुझे एक फ़ाइलऑटपुटस्ट्रीम प्राप्त होता है। मैं जो चाहता हूं उसे पढ़ा जाता है।
आप निश्चित रूप से OutputStream
से नहीं पढ़ सकते हैं। मुझे लगता है कि आप का मतलब है कि आप FileOutputStream
द्वारा लिखी गई फ़ाइल से पढ़ना चाहते हैं। मुझे नहीं लगता कि आप इसे भी कर सकते हैं। FileOutputStream
फ़ाइल को संदर्भित करने के संदर्भ में प्रतीत नहीं होता है।
आप क्या करने की जरूरत की खोज क्या File
या पथ (एक String
) FileOutputStream
में पारित किया गया था और है कि एक ही File
या String
का उपयोग एक नया FileInputStream
तैयार करना है।
के नीचे इस तरह से जोड़ा है, मुझे लगता है कि वह FileDutputStream.getFD() को फ़ाइलडिस्क्रिप्टर प्राप्त करने के लिए उपयोग कर सकता है; इसके चारों ओर एक FileInputStream बनाने के बजाय। सुनिश्चित नहीं है कि आप एक ही फ़ाइलडिस्क्रिप्टर के साथ-साथ पढ़ और लिख सकते हैं। –
@ एसएल बार्थ: अच्छा बिंदु, मैंने वास्तव में उसमें ध्यान दिया था लेकिन इस तथ्य को याद किया कि 'FileInputStream' में एक निर्माता है जो' फाइलडिस्क्रिप्टर 'लेता है। –
- 1. एक जावा FileInputStream
- 2. FileInputStream बनाम FileReader
- 3. क्या मुझे FileInputStream बंद करना है?
- 4. एक सामान्य फ़ाइल के लिए FileInputStream सिस्टम
- 5. FileInputStream बनाम ClassPathResource getResourceAsStream बनाम और अखंडता
- 6. FileInputStream को बफर करने के बारे में क्या?
- 7. कैसे fileInputStream बंद करने के लिए संपत्ति फ़ाइल
- 8. क्या मार्क फीचर के साथ FileInputStream बनाने का कोई तरीका है?
- 9. जावा स्कैनर (फ़ाइल) गलत व्यवहार, लेकिन स्कैनर (FIleInputStream) हमेशा उसी फ़ाइल के साथ काम करता है
- 10. FileInputStream का उपयोग करते समय आप आदर्श बफर आकार को कैसे निर्धारित करते हैं?
- 11. FileInputStream को बंद करने का तरीका "डिवाइस पर कोई स्पेस नहीं छोड़ा गया" त्रुटि का कारण बन सकता है?
- 12. बाइट में
- 13. एक classpath में फ़ाइल को ढूंढने में
- 14. मैवेन प्रोजेक्ट में संसाधन फ़ाइलों का मार्ग क्या है?
- 15. एक स्ट्रीम को दूसरे में कैसे पढ़ा जाए?
- 16. अपाचे पीओआई में एचएसएसएफसीएल में छवियों को कैसे जोड़ना है?
- 17. जावा गुणों को कक्षाओं में उपलब्ध कराएं?
- 18. जावा में, एक पैरेंट इनपुट स्ट्रीम बंद करने से भी अपने बच्चे को बंद कर देता है?
- 19. एक ट्रैक्स पार्सर में रिश्तेदार सिस्टम डीटीडी कैसे लोड करें?
- 20. jsp में संपत्ति फ़ाइल का उपयोग करने के लिए कैसे
- 21. मैं MonkeyRunner में सॉकेट अपवाद कैसे पकड़ूं?
- 22. अच्छा डिज़ाइन: इनपुटस्ट्रीम को तर्क के रूप में कैसे पास किया जाए?
- 23. एंड्रॉइड में फ़ाइल के साथ पैरामीटर कैसे भेजें
- 24. ज़्लिब संपीड़न जावा में डिफ्लेट और इन्फ्लेट कक्षाओं का उपयोग
- 25. आप जेडीके में मूल कोड कहां पा सकते हैं?
- 26. जावा में एन्कोडिंग और readLine() के साथ फ़ाइल खोलने का सबसे छोटा तरीका?
- 27. जावा में ज़िप या निकालने के दौरान ज़िप उपयोगिता में प्रगति पट्टी को कैसे जोड़ना है?
- 28. डाटा इनपुट स्ट्रीम
- 29. जावा का उपयोग कर mysql डेटाबेस में दस्तावेज़, पीडीएफ, और छवि फ़ाइलों को कैसे सहेजना है?
- 30. मैक ओएसएक्स में जावा मिडी टूटा हुआ?
क्या आप यह भी समझते हैं कि आप यहां क्या पूछ रहे हैं? आपका मतलब क्या है "कन्वर्ट"? वे मौलिक रूप से विपरीत चीजें हैं; एक पढ़ने के लिए है और दूसरा लेखन के लिए है। क्या आप अपनी 'फाइलऑटपुटस्ट्रीम' में जो फ़ाइल लिख रहे हैं उसे पढ़ने की कोशिश कर रहे हैं? –
आप वास्तव में क्या करना चाहते हैं? एक फ़ाइलऑटपुटस्ट्रीम एक फ़ाइल को लिखता है, और एक फ़ाइल इनपुटपुट एक फ़ाइल से पढ़ता है। मैं यह देखने में असफल रहा कि पूर्व को बाद में कैसे परिवर्तित किया जा सकता है। –
मुझे एक फ़ाइलऑटपुटस्ट्रीम प्राप्त होता है। मैं जो चाहता हूं उसे पढ़ा जाता है। – Pen