Android 根目录获取文件遍历
/*** 通过反射调用获取内置存储和外置sd卡根路径(通用)** param mContext 上下文* param is_removale 是否可移除false返回内部存储路径true返回外置SD卡路径* return*/private String getStorage0Path(Context mContext, boolean is_removale) {String path ;//使用getSystemService(String)检索一个StorageManager用于访问系统存储功能。StorageManager mStorageManager (StorageManager) mContext.getSystemService(Context.STORAGE_SERVICE);Class? storageVolumeClazz null;try {storageVolumeClazz Class.forName(android.os.storage.StorageVolume);Method getVolumeList mStorageManager.getClass().getMethod(getVolumeList);Method getPath storageVolumeClazz.getMethod(getPath);Method isRemovable storageVolumeClazz.getMethod(isRemovable);Object result getVolumeList.invoke(mStorageManager);for (int i 0; i Array.getLength(result); i) {Object storageVolumeElement Array.get(result, i);path (String) getPath.invoke(storageVolumeElement);boolean removable (Boolean) isRemovable.invoke(storageVolumeElement);if (is_removale removable) {return path;}}} catch (Exception e) {e.printStackTrace();}return path;}遍历文件夹public static VectorString getFileName(String fileAbsolutePath) {VectorString vecFile new VectorString();File file new File(fileAbsolutePath);File[] subFile file.listFiles();for (int iFileLength 0; iFileLength subFile.length; iFileLength) {// 判断是否为文件夹if (!subFile[iFileLength].isDirectory()) {String filename subFile[iFileLength].getName();Log.e(eee,文件名 filename);}}return vecFile;}一.SDK的操作1、判断SD卡是否插入Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);这个在我之前做的东西中就非常有用因为涉及到SDK的读取自然就需要先判断SDK是否插入。2、获得sd卡根目录File skRoot Environment.getExternalStorageDirectory();二.私有目录下的文件操作1、获得私有根目录File fileRoot Context.getFilesDir()\;2.文件夹或文件夹操作1获得文件夹和文件路径a.获得文件或文件夹的绝对路径和相对路径。区别String path File.getPath();//相对String path File.getAbsoultePath();//绝对b.获得文件或文件夹的父目录String parentPath File.getParent();c.获得文件或文件夹的名称String Name File.getName();(2)建立文件或文件夹File.mkDir(); //建立文件夹File.createNewFile();//建立文件(3)判断是文件或文件夹File.isDirectory()File.isDirectory()(4)列出文件夹下的所有文件和文件夹名File[] files File.listFiles();(5)修改文件夹和文件名File.renameTo(dest);(6)删除文件夹或文件File.delete();

相关新闻

Mac平台高效SSH与SFTP工具选型及配置指南

Mac平台高效SSH与SFTP工具选型及配置指南

1. Mac平台终端工具选型指南作为长期在Mac平台进行服务器运维的开发人员,我深刻体会到Windows平台上Xshell/Xftp这类工具缺失带来的不便。经过多年实践测试,我总结出几套成熟的替代方案,特别适合需要频繁连接Linux服务器的用户群体。1.1 为什…

2026/7/22 15:22:51 阅读更多 →
AI时代网络安全攻防新格局与防御策略

AI时代网络安全攻防新格局与防御策略

1. AI黑客时代的攻防新格局2025年游戏行业的数据泄露事件像一记警钟,Rockstar Games和育碧等巨头相继中招,标志着网络安全攻防已经进入全新阶段。我跟踪分析最近三年安全事件报告时发现,AI赋能的攻击数量呈现指数级增长——从2023年每月几十起…

2026/7/22 15:22:51 阅读更多 →
Token峰谷电价来了——大模型定价进入“分时计费”时代

Token峰谷电价来了——大模型定价进入“分时计费”时代

Token峰谷电价来了——大模型定价进入"分时计费"时代 导读:DeepSeek V4正式引入峰谷定价,高峰时段价格翻倍;腾讯云同步跟进;阿里云Token Plan推出分时计费;三大运营商集体转向Token经营。当Token开始像电力一…

2026/7/22 15:22:51 阅读更多 →

最新新闻

百考通:AI赋能论文降重与去AI痕迹,提供双重优化保障

百考通:AI赋能论文降重与去AI痕迹,提供双重优化保障

在学术写作与论文发表的过程中,重复率过高、AI生成痕迹明显,是困扰无数学生与科研工作者的核心难题。不仅可能导致查重不通过,更会影响学术诚信与成果认可度。百考通(https://www.baikaotongai.com) 凭借智能文本优化技…

2026/7/22 16:04:24 阅读更多 →
百考通:AI赋能文献综述,精准锚定文献综述的核心主题

百考通:AI赋能文献综述,精准锚定文献综述的核心主题

在学术研究的道路上,文献综述是承前启后的关键环节,它既是对领域内已有研究的系统梳理,也是确立自身研究创新点的核心基础。然而,海量文献的筛选、观点的整合、逻辑的搭建,往往让科研工作者与学生耗费大量时间与精力。…

2026/7/22 16:04:24 阅读更多 →
百考通:积累可落地项目经验,为职业发展打下坚实基础

百考通:积累可落地项目经验,为职业发展打下坚实基础

在信息技术高速发展的今天,无论是高校学生、编程爱好者还是行业从业者,都面临着项目实践资源分散、学习路径不清晰、开发效率低下的困境。百考通(https://www.baikaotongai.com) 应运而生,以一站式项目资源聚合平台的姿…

2026/7/22 16:04:24 阅读更多 →
RabbitMQ重复消费问题

RabbitMQ重复消费问题

RabbitMQ 出现重复消费的核心原因在于‌网络抖动导致 ACK 确认丢失‌。当消费者处理完业务但尚未发送 ACK,或者 ACK 在传输过程中丢失时,RabbitMQ 会认为消息未被成功处理,从而将消息重新投递给消费者。此外,消费者处理失败后手动…

2026/7/22 16:04:24 阅读更多 →
RabbitMQ如何保证消息不丢失

RabbitMQ如何保证消息不丢失

RabbitMQ 保证消息不丢失需要从‌生产者、Broker、消费者‌三个核心环节同时配置,缺一不可,核心是开启持久化、生产者确认和消费者手动ACK机制。一,RabbitMQ如何保证消息不丢失一、生产者端:确保消息成功送达Broker‌开启生产者确…

2026/7/22 16:04:24 阅读更多 →
嵌入式DMA开发实战:EDMA3中断、队列与优先级机制深度解析

嵌入式DMA开发实战:EDMA3中断、队列与优先级机制深度解析

1. 项目概述与核心价值 在嵌入式系统,尤其是高性能处理器(如TI的C6000系列DSP)的开发中,数据搬移的效率直接决定了整个系统的性能天花板。当你在处理音频流、视频帧或者雷达回波数据时,如果让CPU亲自去搬运每一个字节&…

2026/7/22 16:03:24 阅读更多 →

日新闻

TI DSP系统配置模块SYSCFG详解:中断机制与主设备优先级配置实战

TI DSP系统配置模块SYSCFG详解:中断机制与主设备优先级配置实战

1. 项目概述与SYSCFG模块的核心价值在嵌入式系统,尤其是像TI C6000系列这样的高性能DSP开发中,我们常常会与芯片手册里那些密密麻麻的寄存器打交道。很多开发者可能更关注算法实现、内存优化或者外设驱动,但对于一个稳定、高效的系统而言&…

2026/7/22 0:00:26 阅读更多 →
微信Server酱:高到达率的应急通知方案实践

微信Server酱:高到达率的应急通知方案实践

1. 为什么我们需要"最次"的通知方案? 在数字化协作环境中,消息通知系统的重要性不言而喻明。但现实情况是,企业级通知方案往往需要复杂的API对接(如企业微信、钉钉、飞书),个人开发者的小项目又经…

2026/7/22 0:00:26 阅读更多 →
甲方要的“简洁“PPT,到底是简洁还是省事?

甲方要的“简洁“PPT,到底是简洁还是省事?

甲方说"简洁一点",乙方听到的是"少做几页"。甲方说"不要太复杂",乙方理解成"别放图表了"。结果交过去,甲方说"我说的简洁不是这个意思"。"简洁"这个词在PPT语境里,是…

2026/7/22 0:00:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/21 5:34:47 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 12:54:44 阅读更多 →

月新闻