2014-09-03 29 views
-3

我正在研究一个旨在读取文件并对其进行加密的程序,并且我希望使用Java来提高跨平台兼容性。是一种将构成文件的字节加载到Java中并作为变量存储的方式,以便我可以在其上运行算法?或者是否有更好的方法来读取我正打算加密/解密的内容?Java:如何将文件作为一组字节读取?

+0

谷歌搜索'加密文件Java':http://www.macs.hw.ac.uk/~ml355/lore/pkencryption.htm ... – inigoD 2014-09-03 21:21:32

回答

3

您可以使用IOUtils.toByteArray(InputStream)将整个InputStream读取到一个字节[]中。

File file = new File("/path/to/file"); 
InputStream in = new FileInputStream(file); 
byte[] bytes = IOUtils.toByteArray(in); 

但是我会推荐使你的算法直接在流上工作。文件可能变得非常大,因此将它们全部加载到内存中可能很昂贵或不可能。