1、布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"android:orientation="vertical"><EditTextandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:hint="请输入内容"android:id="@+id/edit"/><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/input"android:text="保存到sd卡"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/result"/><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="读取sd卡内容"android:id="@+id/output"/></LinearLayout>

2、java代码

package com.example.a412application;import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.RandomAccessFile;public class MainActivity extends AppCompatActivity {EditText ed;TextView tv;Button bt_in,bt_out;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ed=(EditText) findViewById(R.id.edit);tv=(TextView) findViewById(R.id.result);bt_in=(Button) findViewById(R.id.input);bt_out=(Button) findViewById(R.id.output);ActivityCompat.requestPermissions(MainActivity.this,new String[]{"android.permission.WRITE_EXTERNAL_STORAGE"},1);bt_in.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){//检查环境有无sd卡File sdCardDir=Environment.getExternalStorageDirectory();//获取sd卡的目录路径try {File destFile=new File(sdCardDir.getCanonicalPath()+File.separator+"mydata.txt");RandomAccessFile raf=new RandomAccessFile(destFile,"rw");//随机访问文件内容raf.seek(destFile.length());//文件定位到末尾String str=ed.getText()+"";//转换成字符串raf.write(str.getBytes());raf.close();}catch (IOException e){e.printStackTrace();}}}});bt_out.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {StringBuilder sb=new StringBuilder(" ");if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){//检查环境有无sd卡File sdCard=Environment.getExternalStorageDirectory();//获取sd卡的目录路径try {File destfile=new File(sdCard.getCanonicalPath()+File.separator+"mydata.txt");FileInputStream fis=new FileInputStream(destfile);//创建了文件的输入流byte[] buffer=new byte[64];//建立缓冲区int hasRead;while((hasRead= fis.read(buffer))!=-1){//还没读完sb.append(new String(buffer,0,hasRead));tv.setText(sb.toString());//放在tv中显示}} catch (IOException e) {e.printStackTrace();}}}});}}

3、实现效果:

Android案例(sd卡存储)相关推荐

  1. 关于Android读取SD卡存储的动态申请

    关于Android读取SD卡存储的动态申请 介绍 Android的目录结构 数据的主要存储方式 疑惑 原来的代码:MainActivity.java 修改后代码: 介绍 这篇文章主要关于我学习SD卡的 ...

  2. 【Android】SD卡的安全存储问题

    目录 Android安全存储 零. 对于目前的研究做出的简单总结 一.android对隐私数据的保护现状 二.目前对于SD卡安全的研究 三. 示例1--Android系统用户隐私数据加密技术实现 1. ...

  3. android的SP存储和SD卡存储

    在android中有着很多的存储方式,例如数据库存储,SD卡存储以及SharedPreferences(以下简称SP)等,下面我们来主要的讲解一下SP以及SD卡存储. 首先是SP,SP存储是一个采用K ...

  4. android 获取sd卡目录失败_解决Android手机自带内部存储路径存在但是却获取不到内容的问题...

    我有一台中兴的Android手机,型号是 ZTE U930HD,手机没有插入外置SD卡(也就是Micro SD Card,原名Trans-flash Card(TF卡),2004年正式更名为Micro ...

  5. Android 外置 SD 卡写入权限问题

    https://busy.im/post/android-sdcard-write/ 最近升级到 Android 9.0 后,发现文件管理器在写入外置 SD 卡时出现了写入失败的问题,定位到 File ...

  6. android读写sd卡代码,android读写SD卡中的文件 demo

    有时,我们需要将更大的文件保存下来,就不能用手机内置的存储空间,毕竟是有限的,所以将文件保存在SD卡中. 要读写SD卡,首先要知道手机上是否有SD卡,且是否可读写 String str = " ...

  7. 3.30 haas506 2.0开发教程-example - SD卡存储数据读写

    SD卡存储数据读写 案例说明 数据的写入与读取 串口工具读取数据 接收数据 CSV格式 案例说明 部分设备使用过程中需要保存大量数据到TF卡中,大部分场景拔插TF卡有不太方便. 所以本案例介绍一种使用 ...

  8. Android读写SD卡

    Android读写SD卡 0. 参考 解决各版本安卓读写SD卡的问题-java.io.IOException: Operation not permitted问题(兼容到android13) 1. 安 ...

  9. Android 判断SD卡是否存在及容量查询

    转载:http://blog.csdn.net/xinzheng_wang/article/details/7827775 Android 判断SD卡是否存在及容量查询的简单方法如下: 首先要在And ...

  10. Android 获取SD卡路径和判断SD卡是否存在.

    android获取sd卡路径方法: public String getSDPath(){ File sdDir = null; boolean sdCardExist =Environment.get ...

最新文章

  1. win7 storm搭建
  2. asp.net三层架构详解
  3. 具体数学第二版第三章习题(2)
  4. 转载---SQL Server XML基础学习2之--FOR XML AUTO/RAW
  5. MVC3学习:利用mvc3+ajax实现登录
  6. java1.9关键字_对 Java 9 把单个下划线作为关键字的猜想
  7. 使用脚本删除ios工程中未使用图片
  8. python中list的切片和range函数
  9. python列表与集合
  10. php什么时候面向对象,php什么时候使用面向对象
  11. 【问题1】项目中缓存是如何使用的?为什么要用缓存?
  12. 用c/c++和Java语言实现庞加莱回归
  13. 高并发系统负载均衡与实时监控的实用方案
  14. 机器人设计的步骤有哪些
  15. 【有奖倒计时】带你走进AI应用创新大赛十强背后的故事!
  16. 已从IT辞职4年,誓要做个不死的闯将!!!(有多少IT兄弟想辞职创业的?)
  17. 少儿编程培训 python
  18. android recovery 机器人,扫盲贴:关于recovery模式的机器人倒地和感叹号
  19. 如何是音乐再ios展台
  20. Vue中实现动态横向均匀排列块元素

热门文章

  1. python数码管绘制原理_Micropython入门四位数码管显示原理
  2. 黄冈师范学院计算机学院专业,黄冈师范学院数学与计算机科学学院介绍
  3. C语言 联合(union)
  4. 字节跳动笔试题之字符串展开
  5. 钓鱼网站Permit 离线签名之实战案例和原理讲解
  6. Redis学习笔记 - 内存回收、对象共享、对象的空转时长
  7. Java性能优化四、性能测试工具
  8. 极客软件测试52讲总结分享
  9. 清华大学 研究生 培养方案
  10. java中的开方方法_java 大整数开方模板与常用方法