小编典典

Android:编译错误Util.toByteArray(摘自示例)

java

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

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

有什么帮助吗?


阅读 255

收藏
2020-11-30

共1个答案

小编典典

您链接的页面中缺少了部分所需的代码:作者忘记显示他的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);

2020-11-30