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

相关推荐

  • 阿里云企业邮箱的邮件收发记录可以按邮件重要性筛选吗?

    阿里云企业邮箱:按邮件重要性筛选的高效管理 阿里云企业邮箱是一款受到众多企业用户青睐的电子邮件服务,凭借其稳定、安全和高效的性能,已经成为许多企业邮件沟通的首选。对于日常业务中,邮件的处理效率是关键因素,阿里云企业邮箱提供了按邮件重要性筛选的功能,帮助用户轻松管理信息,提高工作效率。以下将介绍如何利用这一功能,并展示阿里云企业邮箱的其他优势。 按邮件重要性筛…

    2024年10月31日
    62600
  • 阿里云安徽授权服务中心

    怎么取消阿里云上云顾问服务 收到【阿里云】尊敬的客户您好,为给您 在接收短消息24小时内回复“NO”取消 阿里云授权服务商有哪些? 思朴科技很好,是官方合作伙伴。 阿里云最大的服务中心规模有多大? 阿里云最大的服务中心规模是真的大的哦 阿里云服务器为什么不能申请备案服务号 阿里云服务器都可以申请备案服务号,在你的云服务器管理里,具体:1、登陆阿里云中心,点击…

    2023年8月26日
    73300
  • 太原阿里云企业邮箱代理商:阿里云买的轻量服务器在哪里

    太原阿里云企业邮箱代理商:阿里云买的轻量服务器在哪里 阿里云企业邮箱代理商 阿里云企业邮箱代理商是指通过与阿里云合作,为用户提供阿里云企业邮箱产品的购买和服务支持的渠道。 阿里云买的轻量服务器在哪里 阿里云买的轻量服务器可以部署在全球各地的数据中心。阿里云在中国大陆地区拥有多个数据中心,包括北京、杭州、上海等城市,用户可以根据自己的需求选择合适的地域。 阿里…

    2024年2月1日
    70900
  • 阿里云盘的影视资源怎么找到

    手机云盘里的视频怎么看 网盘的目录,找到视频所在的目录,点击进入如果是视频文件,会显示视频类的缩略图,点击之后,会弹出一个提示框,内容大致是需要下载百度视频插件,点击下载即可,我的手机已经下载了,所以没有显示。更新视频插件之后,进入视频播放页面,页面上会有简单的操作说明,点击屏幕即可消失说明,这时候就开始播放视频了。 从网上保存的电影资源,存在什么地方来,我…

    2023年8月30日
    74100
  • 阿里云计算系统怎么样知乎

    阿里云计算服务系统属于大数据系统吗 阿里云计算服务系统属于大数据系统。 阿里云计算依托阿里巴巴集团在电子商务领域的宝贵经验积累,阿里云计算汇集来自国内外顶尖的技术人才,专注互联网和电子商务的技术创新,打造未360问答来互联网和电子商务的新体验,用世界一流的技术让阿里巴巴成为世界最有影响的互联网企业和最大的电子商务服务商。 在未来的电子商务中云计算将会成为一种…

    2023年8月25日
    61100

发表回复

登录后才能评论

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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