This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
It's not a question of efficiency, it's a question of functionality. Streams work with binary data, while Readers (and Writers) work with character data. If binary data can be converted to character data (and not all binary data can), then you'll need to consider the encoding that was used to convert the character data to binary data in the first place.