Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

BufferedInputStream: read() vs read(byte[])

 
Janus Hasorius
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
First of all, hello everybody!
My question also applies to output streams and writes.
Granted I have something like that

is there any advantage in creating a byte buffer and reading a file with read(byte[]) method, as opposed to reading it byte by byte?
My guess is no, since we are simply transferring bytes from one point in memory to another and the compiler can optimize it.

Also, did i put anything redundant into that code?:

Cheers
 
pete stein
Bartender
Posts: 1561
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm no expert on this, so wait for confirmation from one before you take this as gospel, but I thought that the ability to read in data as chunks rather than byte by byte was the whole reason for the existence of the BufferedInputStream class. So if I understand things correctly, you are better off using the read(byte[] b, int off, int len) overload.
 
Paul Clapham
Sheriff
Pie
Posts: 20763
30
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
It wouldn't be difficult to put together a quick benchmark to see what difference it makes in reading a large file, let's say. Guessing shouldn't be necessary. Or done.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic