昆明阿里云代理商: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.产品和服务展示:阿里巴巴是中国最大的B2B电子商务平台之一,其网站需要展示各类商品和服务的信息,包括图片、描述、价格、规格等。代理商需了解阿里巴巴的产品和服务范围,并提供相应的展示功能。 2.用户注册与登录:阿里巴巴网站需要提供用户注册和登录功能,用…

    2024年2月7日
    67300
  • 台州阿里云企业邮箱代理商:阿里云网站备案流程

    台州阿里云企业邮箱代理商:阿里云网站备案流程 阿里云企业邮箱是阿里云推出的一款专门为企业用户定制的高效、稳定、安全的企业邮箱服务。其具有以下几点优势: 1. 无限容量 阿里云企业邮箱提供无限容量的邮箱存储空间,满足企业用户日常邮件存储需求,避免因为邮箱容量不足而影响工作效率。 2. 多终端支持 阿里云企业邮箱支持多种终端设备,包括PC、手机、平板等,用户可以…

    2024年3月14日
    58400
  • 阿里云企业邮箱:哪个功能可以加快邮件搜索?

    阿里云企业邮箱:哪个功能可以加快邮件搜索? 在快节奏的商业环境中,高效的沟通工具是企业运营不可或缺的一部分。阿里云企业邮箱以其强大的功能和优异的性能,成为众多企业的首选。特别是在邮件搜索方面,阿里云企业邮箱提供了多项功能,大大加快了邮件检索速度,提升了工作效率。 全文搜索功能 阿里云企业邮箱的全文搜索功能,支持对邮件内容的全文检索,用户可以通过关键词快速查找…

    2025年4月5日
    58500
  • 上海智慧消防物联网云平台

    智慧消防云平台帐号怎么注册? 智慧消防云平台的帐号都是由厂家提供的。通常情况下不能自己注册的,如果有需要可以找供应商咨询。 中消云智慧消防怎样? 中消云智慧消防在行业内一直处于领导地位,2012年至2019年,全国共发生在电气火灾70.2万起,占全国火灾总量的30%以上,因此加强用电安全消防安全管理刻不容缓。中消云智慧消防物联网云服务平台可实现火灾隐患巡查、…

    2023年8月28日
    72600
  • 阿里云服务器端口被限制如何开启

    阿里云ubuntu怎么开启服务器端口 配置SSL证书确定证书规渠道获取情况443端口服务器配置根据同服务器环境要注意443端口与80端口防火墙要设置允许443 阿里云关闭3389端口关闭后怎么打开 登录阿里云子帐号找到服务器之后有一个安全组设置,可以自己开启或者关闭。万网互联为您解答 请教一下,在阿里云上建了服务器,但是843 9001 10009 9555…

    2023年8月26日
    71200

发表回复

登录后才能评论

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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