我正在尝试在我的Android应用程序中将此代码示例编译为具有加密/解密功能。我在这里http://apachejava.blogspot.it/2012/04/androidencryption-made-easy.html发现了该代码,我不知道它是否很好,但这与这里无关。

编译时一切正常,但Util.toByteArray会出现此错误“无法解决实用程序”。用实用程序代替实用程序没有任何用处。

有什么帮助吗?

最佳答案

您链接的页面中缺少了所需的代码的一部分:作者忘记显示他的Util类,其中显然包含toByteArray function

解决方案1:使用Common IO

更换

Util.toByteArray(cis);


通过

IOUtils.toByteArray(cis);


IOUtils是Apache commons IO实用程序类。

你需要


下载commons IO jar(请参阅链接)并相应地设置您的类路径
在课程开始时导入此内容:import org.apache.commons.io.IOUtils;


解决方案2:编写toByteArray函数

定义此功能:

public byte[] toByteArray(InputStream is) throws IOException {
    ByteArrayOutputStream buffer = new ByteArrayOutputStream();
    int l;
    byte[] data = new byte[1024];
    while ((l = is.read(data, 0, data.length)) != -1) {
      buffer.write(data, 0, l);
    }
    buffer.flush();
    return buffer.toByteArray();
}


并将Util.toByteArray(cis);替换为toByteArray(cis);

10-04 10:32