Apa perbedaan antara I / O berbasis saluran dan I / O berbasis aliran di java?

21

Apa perbedaan antara Input berbasis aliran dan Input Berbasis Saluran? Java API menyediakan streaming berbasis paket "java.io" dan berbasis saluran dalam paket "java.nio". Yang mana dari keduanya yang lebih baik dalam kinerja dan mengurangi kesalahan run-time?

Pranit Bauva
sumber
apakah Anda memeriksa wiki tag 'nio' di Stack Overflow? "NIO adalah singkatan dari 'I / O Baru'. Ini diperkenalkan di JDK 1.4 dalam paket java.nio. Ini terdiri dari beberapa elemen: ..."
gnat
1
ini adalah pertanyaan yang bagus, 10 tahun yang lalu ... jawaban singkatnya tergantung , ada banyak dokumentasi yang luas tentang kapan harus menggunakan teknologi mana, keduanya masih ada karena mereka lebih baik dalam hal-hal yang berbeda. Jawaban panjang Google memiliki semua yang perlu Anda ketahui.
Saya pikir ini berfungsi sebagai pertanyaan gateway yang bagus. OP adalah salah satu dari 10.000 yang beruntung hari ini .
Gary Rowe
Menurut stackoverflow.com/questions/2810156/concepts-channel-vs-stream - saluran berorientasi pesan sedangkan stream berorientasi byte, dan mungkin tidak tahu bagaimana membagi pesan. Perbedaan lainnya, saluran menyimpan pesan sementara stream tidak.
inf3rno

Jawaban:

13

Lihat posting blog Oracle ini untuk ikhtisar yang bagus

Juga jangan lalai membaca tentang NIO.2 API Java 7!

Dalam hal kinerja dll, baik jawabannya adalah, "itu tergantung". Itu tergantung pada karakteristik I / O Anda, misalnya ukurannya, 'bentuknya', apakah itu Jaringan atau disk atau dalam memori atau ....

Martijn Verburg
sumber
8
Di sini tautan ke arsip: web.archive.org/web/20140528182031/https://blogs.oracle.com/slc/… - Karena itulah jawaban di sini harus dapat bekerja tanpa
tautannya