昆明阿里云代理商: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

相关推荐

  • 阿里云数据库恢复没有备份

    如果阿里云数据库没有备份,那么恢复数据可能会变得非常困难。下面是一些可能的解决方法: 1.联系阿里云技术支持:阿里云的技术支持团队可能可以提供一些帮助和解决方案,尽快向他们寻求帮助可能会提高恢复数据的几率。 2.使用数据修复工具:有一些数据修复工具可以用来尝试恢复数据库。这些工具可以扫描并尝试从损坏的数据库中恢复数据。然而,这种方法并不总是成功,并且可能会导…

    2023年8月9日
    38200
  • 阿里云企业邮箱代理商:阿里云企业邮箱如何帮助你保护公司数据的隐私?

    阿里云企业邮箱代理商:阿里云企业邮箱如何帮助你保护公司数据的隐私? 在数字化办公成为主流的今天,企业邮箱不仅是内部沟通的工具,更是承载大量商业机密和客户信息的关键平台。数据安全与隐私保护成为企业选择邮箱服务时的核心考量。阿里云企业邮箱作为国内领先的企业级邮箱解决方案,凭借其强大的安全技术和丰富的功能,为企业数据隐私筑起了一道坚固防线。本文将详细解析阿里云企业…

    2025年9月18日
    9000
  • 阿里云企业邮箱:为什么投票功能支持匿名参与?

    阿里云企业邮箱:为什么投票功能支持匿名参与? 一、匿名投票功能的背景与需求 在企业内部管理中,投票是一种常见的决策工具,用于收集员工意见、评估项目方案或进行民主表决。然而,在某些场景下,员工可能因顾虑身份暴露而无法真实表达意愿。阿里云企业邮箱的匿名投票功能正是为解决这一痛点而设计,既能保护参与者隐私,又能提升投票结果的真实性。 二、阿里云企业邮箱的匿名投票优…

    2025年7月14日
    18400
  • 珠海阿里云代理商:阿里云dv证书审核时间

    珠海阿里云代理商:阿里云DV证书审核时间 1. 了解阿里云DV证书 阿里云DV证书是一种数字证书,用于加密客户端与服务器之间的通信,确保数据传输的安全性。它由阿里云提供,并且被广泛应用于各种网站和应用程序中。 2. 阿里云优势 阿里云作为全球领先的云计算服务提供商,在证书领域也有着显著的优势。 首先,阿里云拥有强大的技术团队和全球分布的证书授权机构,能够提供…

    2024年1月15日
    32800
  • 购买阿里云服务器后如何使用

    购买阿里云服务器后,您可以按照以下步骤使用: 登录阿里云官网,进入控制台页面。 在控制台页面,选择您要使用的地域和可用区,并选择购买的服务器规格。 根据需求选择网络带宽和系统镜像,并设置购买的服务器数量。 选择购买时长和支付方式,并确认订单。 完成支付后,等待服务器创建完成。创建完成后,您会收到一封包含服务器登录信息的电子邮件。 登录服务器。使用SSH工具(…

    2023年9月21日
    41500

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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