java - Are ReadableByteChannel and WritableByteChannel a replacement of InputStream and OutputStream? -



java - Are ReadableByteChannel and WritableByteChannel a replacement of InputStream and OutputStream? -

as far know, readablebytechannel , writablebytechannel nio bundle can considered replacement of inputstream , outputstream legacy io package. if fact, can used same i/o operations , more.

nevertheless, still seem not much used. also, back upwards in popular libraries quite poor. example, guava team thinking dropping it.

is there reason new code dealing i/o utilize streams respect channels?

there historical context should not ignored. when nio introduced (back in java 1.4), lot of features missing , promise hand them in later not hold long time. recall in java 1.4 way filechannel first create fileinputstream, fileoutputstream, or randomaccessfile , invoke getchannel on it. thus, there no way write code using nio/channels without using older io/stream api.

the first java version providing way create filechannel without using old api java 7. first version providing nio api directory scan, alter notifications , advanced file attributes.

so nio api can considered quite new regarding these features , it’s not surprising takes time developers adopting it. way, kind of adoption might include removing utility methods became unnecessary new api proposal have linked. far can see means removing 4 methods functionality trivial when using recent api.

obviously, when want utilize 1 of newer features memory mapping or java 7 features named above have utilize nio api. on other hand, when want utilize serialization or zip/gzip (de)compression channel support, java offers, wrap channel stream…

java io nio

Comments

Popular posts from this blog

php - Android app custom user registration and login with cookie using facebook sdk -

django - Access session in user model .save() -

php - .htaccess Multiple Rewrite Rules / Prioritizing -