जावा में चैनल-आधारित I / O और स्ट्रीम-आधारित I / O में क्या अंतर है?


21

स्ट्रीम-आधारित इनपुट और चैनल-आधारित इनपुट के बीच अंतर क्या है? जावा एपीआई "java.io" पैकेज और "java.nio" पैकेज में चैनल-आधारित दोनों प्रदान करता है। दोनों में से कौन सा एक प्रदर्शन में बेहतर है और रन-टाइम त्रुटियों को कम करता है?


क्या आपने स्टैक ओवरफ्लो में 'nio' टैग विकी की जांच की ? "NIO का अर्थ 'न्यू I / O' है। इसे JDK 1.4 में java.nio पैकेज में पेश किया गया था। इसमें कई तत्व शामिल हैं: ..."
gnat

1
यह एक अच्छा सवाल है, 10 साल पहले ... संक्षिप्त उत्तर यह निर्भर करता है , किस तकनीक का उपयोग करना है, इस पर बहुत सारे व्यापक दस्तावेज हैं, दोनों अभी भी आसपास हैं क्योंकि वे विभिन्न चीजों में बेहतर हैं। लंबे उत्तर के लिए Google के पास वह सब कुछ है जो आपको जानना चाहिए।

मुझे लगता है कि यह एक अच्छे प्रवेश द्वार का सवाल है। ओपी आज के भाग्यशाली 10,000 में से एक है
गैरी रोवे

के अनुसार stackoverflow.com/questions/2810156/concepts-channel-vs-stream - चैनल संदेश उन्मुख है, जबकि धारा उन्मुख बाइट है, और शायद संदेशों विभाजित करने के लिए कैसे पता नहीं है। एक और अंतर, यह है कि चैनल संदेश संग्रहीत करते हैं जबकि धाराएँ नहीं।
inf3rno

जवाबों:


13

अच्छे अवलोकन के लिए इस Oracle ब्लॉग पोस्ट को देखें

जावा 7 के NIO.2 API पर पढ़ने के लिए भी उपेक्षा न करें!

प्रदर्शन आदि के संदर्भ में, अच्छी तरह से जवाब है, "यह निर्भर करता है"। यह आपके I / O की विशेषताओं पर निर्भर करता है, जैसे कि इसका आकार, यह 'आकार' है, चाहे यह नेटवर्क या डिस्क है या मेमोरी में है या ...।


8
यहाँ संग्रह का लिंक: web.archive.org/web/20140528182031/https://blogs.oracle.com/slc/… - इसीलिए यहां उत्तर उनके लिंक btw के बिना काम करने में सक्षम होना चाहिए
piegames
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.