请教用Java怎么以字节为单位读取一个非文本文件

请问用Java如何以字节为单位读取一个非文本文件
比如一个压缩包,比如一个图片,我按字节为单位去读取它应该怎么写?
------解决思路----------------------
FileInputStream fis= new FileInputStream("C:\\1.png");

------解决思路----------------------
new FileInputStream(file)可以得到一个输入流,按字节读入。
某些情况下使用nio进行通道操作会更合适,比如曾经做过的日志分析器可以根据关键词把零散在文件各处的信息串在一起整理出来,处理1GB的日志平均在1分钟左右!