我正在通过此函数将 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。
任何人都知道如何解决它?