我正在开发一个旨在读取文件并对其进行加密的程序,我希望使用Java来提高跨平台兼容性。是一种将构成文件的字节加载到Java并将其存储为变量的方法,以便我可以在它们上运行算法吗?或者是否有更好的方法来阅读我打算加密/解密的内容?
答案 0 :(得分:3)
您可以使用IOUtils.toByteArray(InputStream)将整个InputStream读入byte []。
File file = new File("/path/to/file");
InputStream in = new FileInputStream(file);
byte[] bytes = IOUtils.toByteArray(in);
但我建议您调整算法以直接处理流。文件可能变得非常大,因此将它们完全加载到内存中可能很昂贵或不可能。