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

mac2022-06-30  85

零、前言

[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://www.cnblogs.com/toly-top/p/9781938.html

相关资源:SiI9136-3 Programmer's Reference
最新回复(0)