我需要将大约 2 MB 的文件读入字节数组。
var fis = Java.use("java.io.FileInputStream");
var file = fis.$new("/data/local/file.txt");
var fileBytes = new Uint8Array(file.available());
var x;
while ((x = file.read()) != -1)
fileBytes.push(x);
我正在使用上面的代码,但它正在读取 ~100 kb/s,在我的情况下需要 ~20 秒。
我还尝试使用 ByteArrayOutputStream 和 1、4、16kb 缓冲区,但结果没有任何不同。
我相信采用 Inputfilestream 并返回 bytearray 的本机 Java 函数将解决我的问题,但我找不到任何问题。
我怎样才能使这个过程更快?
我实际上试图将它与okio.ByteString
具有.read()
方法的一起使用,但我无法从 Frida 访问它。它是未定义的。