使用Android WebView和JS写入本地文件

Write to a local file using Android WebView and JS

本文关键字:文件 JS Android WebView 使用      更新时间:2023-09-26

我正在开发一个android应用程序,该应用程序应该写入设备上的本地文件。一个简单的txt文件。但我想通过web视图+javascript功能来实现这一点。在我的活动中,我有一个指向URL的按钮。当用户点击它时,它会请求一个json文件。我想在应用程序本身的javascript部分将这个blob写入磁盘。有办法做到这一点吗?

我不太确定您所说的javascript部分是什么意思。如果你在安卓应用程序中,你应该可以访问上下文。如果你有任何上下文,你可以做IO:

private String read(String fn)
{
    try {
        FileInputStream mInput = {{CONTEXT}}.openFileInput(fn);
        byte[] data = new byte[128];
        mInput.read(data);
        mInput.close();
        String display = new String(data);
        return display.trim();
    } catch (IOException | NullPointerException e) {
        e.printStackTrace();
        return ERROR;
    }
}
private void write(String fn, String data)
{
    try {
        FileOutputStream mOutput = {{CONTEXT}}.openFileOutput(fn);
        mOutput.write(data.getBytes());
        mOutput.flush();
        mOutput.close();
    } catch (IOException | NullPointerException e) {
        e.printStackTrace();
    }
}