Android 获取 Assets 文件路径并写入文件系统 - Java 代码示例

本文提供一个 Java 代码示例,演示如何使用 Android 的 Context 获取 Assets 文件路径,并将 Assets 文件内容写入文件系统。

public static String assetFilePath(Context context, String asset) {
    File file = new File(context.getFilesDir(), asset);

    try {
        InputStream inpStream = context.getAssets().open(asset);
        try {
            FileOutputStream outStream = new FileOutputStream(file, false);
            byte[] buffer = new byte[4 * 1024];
            int read;

            while (true) {
                read = inpStream.read(buffer);
                if (read == -1) {
                    break;
                }
                outStream.write(buffer, 0, read);
            }
            outStream.flush();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return file.getAbsolutePath();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return "";
}

代码说明:

  1. assetFilePath(Context context, String asset) 函数接收两个参数:

    • context: Android 上下文对象
    • asset: Assets 文件名
  2. 使用 context.getFilesDir() 获取应用程序私有文件目录,并创建 File 对象,该对象代表要写入的输出文件。

  3. 使用 context.getAssets().open(asset) 获取 Assets 文件的输入流。

  4. 使用 FileOutputStream 创建输出流,并将 Assets 文件内容写入文件。

  5. 使用 file.getAbsolutePath() 获取输出文件的绝对路径并返回。

注意:

  • 该示例代码演示了如何将 Assets 文件内容写入应用程序私有文件目录。
  • 您需要在 AndroidManifest.xml 文件中声明 android.permission.WRITE_EXTERNAL_STORAGE 权限才能将 Assets 文件写入外部存储设备。
  • 确保 Assets 文件名正确,否则代码将无法正常运行。
Android 获取 Assets 文件路径并写入文件系统 - Java 代码示例

原文地址: https://www.cveoy.top/t/topic/qxUk 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录