1

我正在通过此函数将 webview 与 javascript 连接以将数据保存到文件中

@JavascriptInterface
public Boolean saveToFile(String filename, String text) {
    try{
      File file = new File(filename);
      byte[] b = text.getBytes();
      FileOutputStream fileOutputStream = new FileOutputStream(file);
      fileOutputStream.write(b);
      fileOutputStream.close();  
      return true;
    }
    catch (Exception e){
      return false;
    }
}

在javascript方面我有这个:

function save(filename, text) {
  return Android.saveToFile(filename, text);
}

当我保存 ascii 文本时,没关系,但是每当我发送二进制数据时,如果“文本”包含一个空字符 (\0),Android 函数会在该空字符处截断接收到的参数“文本”,就像它正在接收一个空终止字符一样字符串,不是这种情况,也不是 java 或 javascript。

任何人都知道如何解决它?

4

0 回答 0