您现在的位置是:首页 > 文章详情

3-SII--Android的SD卡文件读写

日期:2018-08-25点击:301

零、前言

[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);//读取InputStream close(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://yq.aliyun.com/articles/633840
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章