Android:编译错误Util.toByteArray(摘自一个例子)

时间:2012-07-18 11:13:46

标签: java android eclipse compilation

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

编译时一切正常,但Util.toByteArray会产生此错误“无法解析Util”。用Utils替换Util是没有用的。

任何帮助?

1 个答案:

答案 0 :(得分:3)

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

解决方案1:使用公共IO

替换

Util.toByteArray(cis);   

通过

IOUtils.toByteArray(cis);

IOUtils是一个Apache commons IO实用程序类。

你需要

  • 下载公共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);