कच्चे बाइट स्ट्रीम का उपयोग करके मेरे कॉन्फ़्रेंस चैट एप्लिकेशन में टीसीपी फ़ाइल स्थानांतरण को कार्यान्वित करने की कोशिश करने के बाद, मैंने तय किया है कि ऑब्जेक्ट स्ट्रीम के माध्यम से फ़ाइलों को भेजने के लिए यह बहुत आसान है। फ़ाइलों को उनके गंतव्य पर भेजा और संग्रहीत किया जाता है (चाहे वह केंद्रीय सर्वर या डाउनलोड क्लाइंट है) इन-मेमोरी फ़ाइल ऑब्जेक्ट्स के रूप में। हालांकि, इन फ़ाइलों को फ़ाइल ऑब्जेक्ट्स के रूप में उपयोग नहीं किया जाता है - क्लाइंट उन्हें खोलने में सक्षम होना चाहिए। जावा ऑब्जेक्ट्स को हार्ड ऑब्जेक्ट फाइलों के रूप में सहेजने या जावा के माध्यम से उन्हें खोलने के लिए जावा में कोई तरीका है?जावा सेविंग/ओपनिंग फाइल ऑब्जेक्ट्स
उत्तर
"फाइल ऑब्जेक्ट्स" के साथ आपका क्या मतलब है; क्या आपका मतलब java.io.File
है?
कक्षा java.io.File
केवल एक निर्देशिका नाम और फ़ाइल नाम का प्रतिनिधित्व है। यह ऐसी वस्तु नहीं है जो फ़ाइल की सामग्री को पकड़ सके।
आप डेटा है, तो उदाहरण के लिए स्मृति में एक बाइट सरणी, तो हाँ, आपको लगता है कि एक फाइल करने के लिए बचा सकता है में:
byte[] data = ...;
OutputStream out = new FileOutputStream(new File("C:\\someplace\\filename.dat"));
out.write(data);
out.close();
पढ़ने और लिखने के लिए कैसे जानने के लिए Oracle की जावा ट्यूटोरियल से Basic I/O Lesson देखें FileInputStream
और FileOutputStream
वाली फ़ाइलें।
आप देखने में Data Handlers
आप उन्हें Data Sources
के रूप में, लेकिन आप के लिए एक "पारदर्शी" रास्ते में फ़ाइलों को हस्तांतरण करने का उपयोग कर सकते चाहिए।
धन्यवाद, भविष्य में उन्हें देखेंगे। –
मैं तय कर लिया है कि यह बहुत आसान है फ़ाइलें मैं वस्तु धाराओं के माध्यम से हस्तांतरित चाहते हैं कि भेजने के लिए "
यह बुरा विचार नहीं है:।। स्मृति और विलंबता (यानी समय और स्थान) की लागत बस बाइट्स को भेजें और प्राप्त करें, आपको फ़ाइल नाम और फ़ाइल आकार बताने के लिए सामने रखें।
मैंने प्रिंटवाइटर का उपयोग करके पहले फ़ाइल नाम भेजने की कोशिश की, एक डी तो BufferedOutputStream का उपयोग कर कच्चे बाइट्स। फ़ाइल नाम और बाइट प्रेषक पक्ष से कोई समस्या नहीं भेजेंगे। रिसीवर पक्ष फ़ाइल नाम भी प्राप्त कर सकता है, हालांकि इसे कच्चे बाइट्स में से कोई भी प्राप्त नहीं हो सका - यह सिर्फ खाली फाइलें बना। जब मैंने ऑब्जेक्ट स्ट्रीम का उपयोग करने के लिए स्विच किया, तो यह काम करना प्रतीत होता था? –
@ रिचर्डस्टोक जो कभी काम नहीं करेगा। कनेक्शन के जीवन के लिए दोनों सिरों पर एक ही धारा का प्रयोग करें। PrintWriter में एक बफर है, BufferedOutputStream में एक बफर है, BufferedReader में एक बफर है, और BufferedInputStream में एक बफर है। तार भर में समन्वय के लिए बहुत सारे बफर। मैं सब कुछ के लिए DataOutputStream/DataInputStream का उपयोग करूँगा, writeUTF()/readUTF() के साथ फ़ाइल नाम भेजना, लिखने के साथ लंबाई()/readLong(), और लिखने वाले डेटा() और पढ़ें()। – EJP
वाह धन्यवाद, एक शानदार पूरी तरह से टिप्पणी। –
- 1. जावा फाइल प्रपत्र विम
- 2. जावा कक्षाएं ऑब्जेक्ट्स हैं?
- 3. जावा यूआरएल ("फाइल: //") विंडोज एक्सपी
- 4. गुड जावा प्रॉपर्टी फाइल एडिटर
- 5. जावा ऑब्जेक्ट्स जावा कोड में सीरियलाइज़ करें
- 6. जेएसपी, जावास्क्रिप्ट, और जावा ऑब्जेक्ट्स
- 7. एंड्रॉइड आर। जावा समस्याएं। आर। जावा फाइल अपडेट नहीं है?
- 8. जावा अभी भी ऑब्जेक्ट्स और कचरा संग्रह
- 9. जावा प्रक्रियाओं में ऑब्जेक्ट्स साझा करना
- 10. जावा में स्ट्रिंग ऑब्जेक्ट्स अपरिवर्तनीय नहीं हैं?
- 11. जैक्सन deserialization जेसन से जावा-ऑब्जेक्ट्स
- 12. पैटर्न: धुरी ऑब्जेक्ट्स से जावा क्लास रूपांतरण
- 13. ऑब्जेक्ट ऑब्जेक्ट्स स्ट्रिंग्स कैसे लौटते हैं? (जावा)
- 14. जावा में स्ट्रिंग से पार्सिंग ऑब्जेक्ट्स
- 15. जावा में अपरिवर्तनीय ऑब्जेक्ट्स और डेटा एक्सेसिंग
- 16. कई जावा ऑब्जेक्ट्स को एक फ़ाइल में
- 17. जावा का सीरियलाइज्ड ऑब्जेक्ट्स का प्रतिनिधित्व
- 18. एक्सएमएल को जावा ऑब्जेक्ट्स में कनवर्ट करना
- 19. फाइल सिस्टम
- 20. मौजूदा जावा ऑब्जेक्ट्स से एक्सप्रेटिंग .proto फ़ाइल या xsd
- 21. फाइल सिस्टम
- 22. xmlNode ऑब्जेक्ट्स
- 23. स्ट्रिंगबिल्डर ऑब्जेक्ट्स
- 24. ऑब्जेक्ट्स
- 25. ऑब्जेक्ट्स
- 26. ऑब्जेक्ट्स
- 27. जेएनआई - बेसिक जावा ऑब्जेक्ट्स (बूलियन) को बेसिक जावा ऑब्जेक्ट्स (बूल) का प्रतिनिधित्व करने वाले नौकरी को परिवर्तित करना
- 28. जावा एक्सएमएल ऑब्जेक्ट्स को स्कैला एक्सएमएल ऑब्जेक्ट्स में कनवर्ट करने का कोई त्वरित तरीका है?
- 29. प्रोग्राम ऑब्जेक्ट्स द्वारा जावा ऑब्जेक्ट पर कब्जा कर लिया गया स्मृति की गणना करें जिसमें ऑब्जेक्ट्स
- 30. ऑब्जेक्ट्स बनाम ऑब्जेक्ट्स बनाम नए ऑब्जेक्ट्स का निर्माण
मेरा बुरा, यह नहीं पता था कि java.io.File फ़ाइल सामग्री को पकड़ने में सक्षम नहीं था। चित्र पर वापस बोर्ड तो :( –