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.
would work. I would prefer to read a file into a ByteArrayOutputStream. It's a dynamically sized byte array so you don't need to know the file size beforehand. Kudos for noticing that available() does not return file size. That was last week's Most Common Misconception.