android 将File文件保存到 drawable目录中
时间: 2024-03-30 21:34:48 浏览: 58
很抱歉,无法实现您的要求。因为在 Android 中,drawable 目录是用于存放图片资源的,而不是用于存放文件资源的。如果您想要存储文件,可以选择将文件保存到应用的内部存储或外部存储中。如果您需要将文件转换为图片资源并保存到 drawable 目录中,可以使用 Android 的 BitmapFactory 类将文件解码为 Bitmap 对象,然后使用 BitmapDrawable 类将 Bitmap 对象转换为 Drawable 对象,最后将 Drawable 对象保存到 drawable 目录中。但是,这种做法可能会导致图片资源过多,影响应用的性能。因此,建议您选择将文件保存到应用的内部存储或外部存储中。
相关问题
如何在android studio中利用java语句将图片保存到res/drawable下
在Android Studio中,`res/drawable` 目录是只读的,你不能在运行时将文件保存到该目录。你需要将图片放到项目的 `app/src/main/res/drawable` 目录下,然后重新构建应用程序。
如果你要将图片从设备上的其他位置复制到 `drawable` 目录下,可以使用以下代码:
```java
InputStream inputStream = null;
OutputStream outputStream = null;
try {
inputStream = new FileInputStream(new File("your_image_path"));
outputStream = new FileOutputStream(new File(getFilesDir() + "/drawable/your_image_name"));
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) > 0) {
outputStream.write(buffer, 0, length);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (inputStream != null) {
inputStream.close();
}
if (outputStream != null) {
outputStream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
```
其中,`your_image_path` 是你要复制的图片路径,`your_image_name` 是你要将图片保存为的文件名。该代码将读取指定路径上的文件,将其写入应用程序的私有文件夹中,然后你可以将其复制到 `drawable` 目录中。
android studio file对象保存图片
以下是在Android Studio中使用File对象保存图片的方法:
```java
// 获取Bitmap对象
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.image);
// 获取应用程序私有目录
File dir = getApplicationContext().getFilesDir();
// 创建图片文件
File file = new File(dir, "image.jpg");
try {
// 创建输出流
OutputStream os = new FileOutputStream(file);
// 将Bitmap对象压缩为JPEG格式并写入输出流
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, os);
// 关闭输出流
os.close();
// 输出保存成功信息
Log.d("TAG", "Image saved to " + file.getAbsolutePath());
} catch (Exception e) {
// 输出保存失败信息
Log.e("TAG", "Failed to save image.", e);
}
```
阅读全文