昆明阿里云代理商:android 写个软件存储 文件 图片

存储文件:

在 Android 中,可以使用内部存储和外部存储来存储文件。内部存储是应用的私有存储空间,只能应用本身访问。外部存储是 SD 卡等可移动存储设备,可以被多个应用或用户访问。

内部存储:

// 获取内部存储文件路径
File file = getFilesDir();
// 创建文件
File file1 = new File(file, "example.txt");
// 写文件
try {
    FileOutputStream fos = openFileOutput("example.txt", Context.MODE_PRIVATE);
    fos.write("Hello World".getBytes());
    fos.close();
} catch (Exception e) {
    Log.e(TAG, "存储文件失败", e);
}

外部存储:

// 判断 SD 卡是否可用
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
    // 获取 SD 卡的公共目录
    File file = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS);
    // 创建文件
    File file1 = new File(file, "example.txt");
    // 写文件
    try {
        FileOutputStream fos = new FileOutputStream(file1);
        fos.write("Hello World".getBytes());
        fos.close();
    } catch (Exception e) {
        Log.e(TAG, "存储文件失败", e);
    }
} else {
    Log.e(TAG, "SD 卡不可用");
}

存储图片:

// 获取内部存储文件路径
File file = getFilesDir();
// 创建图片文件
File imageFile = new File(file, "example.jpg");

// 从资源中获取图片
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.example);
// 将 Bitmap 写入图片文件
try {
    FileOutputStream fos = new FileOutputStream(imageFile);
    bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
    fos.close();
} catch (Exception e) {
    Log.e(TAG, "存储图片失败", e);
}

// 从相册选择图片并存储
Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, 1);

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    if(requestCode == 1 && resultCode == RESULT_OK && data != null){
        // 获取选择的图片的 URI
        Uri uri = data.getData();
        // 从 URI 中获取 Bitmap
        Bitmap bitmap = null;
        try {
            bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), uri);
        } catch (IOException e) {
            e.printStackTrace();
        }
        // 将 Bitmap 写入图片文件
        try {
            FileOutputStream fos = new FileOutputStream(imageFile);
            bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
            fos.close();
        } catch (Exception e) {
            Log.e(TAG, "存储图片失败", e);
        }
    }
}

Android 写一个软件存储文件和图片的方法如下:

  1. 获取文件和图片的存储路径:

    //获取文件存储路径
    File filePath = getApplicationContext().getFilesDir();
    //获取图片存储路径
    File imagePath = getApplicationContext().getExternalFilesDir(Environment.DIRECTORY_PICTURES);
  2. 创建文件和图片:

    try {
     //创建文件
     File file = new File(filePath,"test.txt");
     file.createNewFile();
     //创建图片
     File imageFile = new File(imagePath,"testImage.jpg");
     imageFile.createNewFile();
    } catch (IOException e) {
     e.printStackTrace();
    }
  3. 将数据写入文件和图片:

    昆明阿里云代理商:android 写个软件存储 文件 图片
    //写入数据到文件
    try {
     FileOutputStream fileOutputStream = openFileOutput("test.txt", Context.MODE_PRIVATE);
     String data = "Hello, World!";
     fileOutputStream.write(data.getBytes());
     fileOutputStream.close();
    } catch (IOException e) {
     e.printStackTrace();
    }
    //写入图片到文件
    try {
     Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.test_image);
     ByteArrayOutputStream stream = new ByteArrayOutputStream();
     bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
     byte[] byteArray = stream.toByteArray();
     
     FileOutputStream fileOutputStream = new FileOutputStream(imageFile);
     fileOutputStream.write(byteArray);
     fileOutputStream.flush();
     fileOutputStream.close();
     
    } catch (IOException e) {
     e.printStackTrace();
    }
  4. 从文件和图片读取数据:

    //从文件读取数据
    try {
     FileInputStream fileInputStream = openFileInput("test.txt");
     byte[] data = new byte[fileInputStream.available()];
     fileInputStream.read(data);
     fileInputStream.close();
     String text = new String(data);
    } catch (IOException e) {
     e.printStackTrace();
    }
    //从图片读取数据
    try {
     Bitmap bitmap = BitmapFactory.decodeFile(imageFile.getPath());
    } catch (Exception e) {
     e.printStackTrace();
    }

    以上是Android写一个存储文件和图片的方法。需要注意的是,对于图片的存储,在使用完后要记得进行释放,以免占用内存过高。

发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/154790.html

(0)
luotuoemo的头像luotuoemo
上一篇 2024年2月28日 02:51
下一篇 2024年2月28日 03:10

相关推荐

  • 阿里云的特点和应用场景分析

    什么是阿里云系统?有什么特点、和安卓有什么区别? 阿里云OS是融云数据存储、云计算服务和云操作系统为一体的新一代操作系统。系统搭载了阿里云公司自主设计、架构、研发的系统核心虚拟机,增强了云端服务的能力,并提供与Dalvik虚拟机兼容的运行环境。通过海量云空间来同步和管理手机数据,数据可永久保存在云端并联通所有设备。基于云端弹性云计算的托管服务,便于开发者快速…

    2023年8月28日
    16600
  • 邮件组织管理功能的更新对用户邮件处理习惯和效率的影响分析?

    邮件组织管理功能的更新对用户邮件处理习惯和效率的影响分析 在当今信息爆炸的时代,电子邮件已成为企业沟通的重要工具。然而,随着邮件数量的激增,如何高效管理和处理这些信息成为了许多企业面临的挑战。阿里云企业邮箱在邮件组织管理功能的更新上不断进步,这些功能不仅提升了用户的邮件处理效率,也改变了他们的邮件处理习惯。 阿里云企业邮箱的优势 阿里云企业邮箱的主要优势在于…

    2024年11月1日
    13400
  • 阿里云企业邮箱:哪个功能可以防止数据泄露?

    阿里云企业邮箱:如何防止数据泄露 在当今信息化快速发展的时代,企业邮箱成为公司日常运营不可或缺的一部分。阿里云企业邮箱作为市场上的佼佼者,不仅提供稳定的邮件服务,还提供了多种安全功能以防止数据泄露。本文将详细介绍阿里云企业邮箱的相关功能,并结合阿里云企业邮箱代理商的优势,探讨如何有效防止企业数据泄露。 阿里云企业邮箱的数据防泄露功能 阿里云企业邮箱提供了多种…

    2025年4月5日
    4200
  • 怎么关闭自己阿里云数据库

    关闭阿里云数据库可按照以下步骤操作: 登录阿里云官网并进入阿里云控制台。 在顶部导航栏中,选择“产品”下拉菜单,然后选择“数据库”选项。 在左侧导航栏中,选择“云数据库 RDS”。 在RDS页面中,选择要关闭的数据库实例所在的地域(Region)。 在数据库实例列表中,找到要关闭的数据库实例,并点击实例名称进入实例详情页。 在实例详情页中,点击右上角的“更多…

    2023年8月16日
    16900
  • 阿里云语音合成效果

    阿里云语音合成技术具有以下几个特点和优势: 自然流畅:阿里云语音合成技术采用深度学习的方法,模型训练基于大规模真实语音数据,合成的语音音质自然流畅,听起来更加自然。 多样化:阿里云语音合成技术支持多种语音合成风格,可以根据不同应用场景选择不同的合成风格,如新闻、电台、对话等风格。 全球化:阿里云语音合成技术支持多个语种,包括中文、英文、日文、韩文等,可以满足…

    2023年8月5日
    20300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
购买阿里云服务器请访问:https://www.4526.cn/