Android 获取 Assets 文件路径并写入文件系统 - Java 代码示例
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 "";
}
代码说明:
-
assetFilePath(Context context, String asset)函数接收两个参数:context: Android 上下文对象asset: Assets 文件名
-
使用
context.getFilesDir()获取应用程序私有文件目录,并创建File对象,该对象代表要写入的输出文件。 -
使用
context.getAssets().open(asset)获取 Assets 文件的输入流。 -
使用
FileOutputStream创建输出流,并将 Assets 文件内容写入文件。 -
使用
file.getAbsolutePath()获取输出文件的绝对路径并返回。
注意:
- 该示例代码演示了如何将 Assets 文件内容写入应用程序私有文件目录。
- 您需要在 AndroidManifest.xml 文件中声明
android.permission.WRITE_EXTERNAL_STORAGE权限才能将 Assets 文件写入外部存储设备。 - 确保 Assets 文件名正确,否则代码将无法正常运行。
原文地址: https://www.cveoy.top/t/topic/qxUk 著作权归作者所有。请勿转载和采集!