零、前言

[1]读写SD卡需要运行时权限。
[2]如果对运行时权限不清楚的童鞋,可以看一下我的封装:TI--安卓运行时权限完美封装

一、使用:SD卡文件读写

FileHelper fileHelper = FileHelper.get();
//在SD卡追加模式创建:data/writeFile2SD.txt文件,写入"toly"
fileHelper.writeFile2SD("data/writeFile2SD.txt", "toly", true);
//在SD卡上创建一个空文件
fileHelper.createFile("create/create.txt");//读取data/writeFile2SD.txt文件
String read = fileHelper.readFromSD("data/writeFile2SD.txt");
System.out.println(read);//tolytolytolytolytolytoly

二、创建文件

判断是否存在SD卡
    /*** 判断是否存在SD卡** @return 是否存在SD卡*/private boolean hasSdCard() {return Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);}
在SD卡中创建文件
    /*** 在SD卡中创建文件的核心代码** @param savePath    保存的绝对路径(路径不存在会自动创建上级文件夹)* @param fileContent 文件内容* @param append      是否以追加模式*/private File writeFileWithAbsolutePath(String savePath, String fileContent, boolean append) {FileOutputStream fos = null;File filePic = null;try {filePic = new File(savePath);if (!filePic.exists()) {filePic.getParentFile().mkdirs();filePic.createNewFile();}fos = append ? new FileOutputStream(savePath, true) : new FileOutputStream(savePath);write(fos, fileContent);} catch (IOException e) {e.printStackTrace();} finally {close(fos);}return filePic;}/*** 在SD卡中创建文件暴露方法** @param filename    文件名:(形式:"XX/YY/ZZ.UU")* @param fileContent 文件内容* @param append      是否以追加模式*/public File writeFile2SD(String filename, String fileContent, boolean append) {return writeFileWithAbsolutePath(PathUtils.getSDPath() + File.separator + filename, fileContent, append);}/*** 在SD卡中创建空文件** @param filename 文件名* @return 文件对象*/public File createFile(String filename) {return writeFile2SD(filename, "", false);}

三、读取文件

    /*** 在SD卡中读取文件** @param filename 文件名* @return 文件内容*/private String readFileWithAbsolutePath(String filename) {String result = null;FileInputStream input = null;if (hasSdCard()) {try {input = new FileInputStream(filename);//文件输入流result = read(input);//读取InputStreamclose(input); //关闭输入流} catch (IOException e) {e.printStackTrace();L.e(e.toString());} finally {close(input);}}return result;}/*** 在SD卡中读取文件** @param fileName 文件名* @return 文件内容*/public String readFromSD(String fileName) {return readFileWithAbsolutePath(PathUtils.getSDPath() + File.separator + fileName);}

后记、

1.声明:

[1]本文由张风捷特烈原创,转载请注明
[2]欢迎广大编程爱好者共同交流
[3]个人能力有限,如有不正之处欢迎大家批评指证,必定虚心改正
[4]你的喜欢与支持将是我最大的动力

2.连接传送门:

更多安卓技术欢迎访问:安卓技术栈
我的github地址:欢迎star
简书首发,腾讯云+社区同步更新
张风捷特烈个人网站,编程笔记请访问:http://www.toly1994.com

3.联系我

QQ:1981462002
邮箱:1981462002@qq.com

微信:zdl1994328

4.欢迎关注我的微信公众号,最新精彩文章,及时送达:
公众号.jpg

转载于:https://www.cnblogs.com/toly-top/p/9781938.html

3-SII--Android的SD卡文件读写相关推荐

  1. Android SD卡文件读写目录及权限

    1.对多个sd卡支持 从4.4开始android已经支持多了sd卡(之前由厂商自己实现) 可通过以下方法获取 Context.getExternalFilesDirs(), 返回多个sd卡的该应用私有 ...

  2. android 删除sd卡文件恢复,终于解决sd卡删除的文件如何恢复问题

    据统计,现如今SD卡的使用频率非常高,为手机扩展内存.放在相机中保存照片等等,SD卡的内存也越来越大,而里面的数据储存量也多了起来,那么当SD卡中文件删除了怎么办呢?SD卡删除的文件如何恢复? 迅龙数 ...

  3. android 对象存储sd卡,Android网络与数据存储——File存储(实现SD卡文件浏览器)...

    Java提供了一套完整的IO流体系,包括FileInputStream.FileOutPutStream等,通过这些IO流可以非常方便的访问磁盘上的文件内容.Android同样支持以这种方式来访问手机 ...

  4. android 视频开发sd卡,Android开发之SD卡文件操作分析

    本文实例讲述了Android开发之SD卡文件操作.分享给大家供大家参考,具体如下: 前面的文章中写过直接操作手机自带存储器的程序,这次就接着上次文章协议下对sd卡的文件操作.与自带存储不同的是使用sd ...

  5. 误删sd卡文件怎么恢复

    误删sd卡文件怎么恢复?在我们日常的数据读写中,SD卡已经成为了一个必不可少的存储介质.不论是在手机.相机.行车记录仪等各种电子设备中都能看到它的踪影.但在使用SD卡中,不可避免地会出现误删文件的情况 ...

  6. 一键加速索尼相机SD卡文件的复制操作,文件操作批处理教程

    前言 索尼的文件系统很迷,微单是延续DC的文件管理,所以也就造成了DCIM文件夹下就是专门存些照片,视频又在另一个文件夹而普通人的话,又是用不上XML文件的,每次复制都很麻烦,像是之前我用佳能全画幅时 ...

  7. sd卡文件莫名其妙消失怎么恢复呢?

    在日常生活中,相机可以帮助我们拍摄一些难忘的照片,记录着我们生活的起起落落.经常存储一些重要的数据,如照片和视频之类的.但有时候存储卡中的照片可能因为不知道的原因而莫名其妙消失了.碰到这样的事,那些s ...

  8. U盘SD卡文件误删恢复探讨

    U盘SD卡文件误删恢复探讨 今天把U盘的一个文件误删了,想通过修复软件修复,发现修复回来的文件是空的.用winhex打开一看基本都是0,顿时对修复软件很失望!想自己来恢复,同时一探究竟! 说   明: ...

  9. 连接手机、PC后,SD卡文件不显示怎么解决?

    文章来源:https://www.reneelab.com.cn/sd-card-files-not-showing.html 目录 一.SD卡上文件不显示的原因 二.如何恢复SD卡中丢失的数据 三. ...

最新文章

  1. leangoo自由配置任务卡片(需求、迭代、bug)自定义字段
  2. 一篇比较深刻的讲FP特性的文章
  3. SVN账号重新指定方法
  4. 蓝桥杯java第八届第一题--购物单
  5. Log4J配置 category, appender,layout
  6. mysql to char 用法_postgresql 中的to_char()常用操作
  7. if test 多条件_秒懂Python编程中的if __name__ == #39;main#39; 作用和原理
  8. OpenCV Mat主要用法(2)_MatExpr
  9. SQL Server 创建表
  10. 中国的脑部研究--脑网络组图谱
  11. Openfire Meetings插件是一个包含各种Jitsi项目(如VideoBridge和Meet)的实现
  12. Golang 大杀器之性能剖析 PProf
  13. Matable实现利用互相关函数求相位差
  14. 速达财务管理软件使用方法
  15. 无头浏览器+规避检测
  16. OFDM子载波频率 知乎_频谱中射频干扰信号流化、分析与回放
  17. 【Flutter 问题系列第 7 篇】TextField 去掉下划线
  18. 记录一次使用ParallelGC导致线上FGC频繁、耗时长的原因
  19. oracle modeler 使用,Navicat Data Modeler使用教程八:图表版面下
  20. 学习管理系统五大好处

热门文章

  1. python中语法错误-Python语法错误与异常及异常处理方法
  2. 黑苹果系统备份还原步骤
  3. 2021年计算机试题,2021年计算机试题及答案-20210515145837.doc-原创力文档
  4. SpringCloud H版之Eureka学习
  5. 调取大华SDK获取IPC音视频流并得到H264帧
  6. 笔记本计算机打开任务管理器,笔记本电脑按哪个键打开任务管理器
  7. java.lang.NoClassDefFoundError: javax/activation/DataSource
  8. Web3在中国,房间里的大象
  9. Arcgis创建新色带
  10. OneNote 与 OneNote 2016 有什么区别?