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:40阅读更多 →
AI时代网络安全攻防新格局与防御策略

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

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

2026/7/22 15:22:40阅读更多 →
SATA控制器寄存器配置实战:从PLL锁定到信号完整性优化

SATA控制器寄存器配置实战:从PLL锁定到信号完整性优化

1. 项目概述与核心价值 在嵌入式系统,尤其是涉及高速串行通信的SoC(片上系统)设计中,硬件工程师和驱动开发者经常会遇到一个既关键又令人头疼的环节:寄存器配置。你手头可能有一份几百甚至上千页的芯片手册&#xff0c…

2026/7/22 15:20:39阅读更多 →
Flannel 原理与部署实战:Overlay 网络如何实现跨节点 Pod 通信

Flannel 原理与部署实战:Overlay 网络如何实现跨节点 Pod 通信

系列导读 你现在看到的是《K8s 网络 CNI 深度剖析与排障实战:从原理到生产级故障排查》的第 2/10 篇,当前这篇会重点解决:以 Flannel 为入口,展示 Overlay 网络的核心原理,提供从部署到排障的完整闭环 上一篇回顾:第 1 篇《K8s 网络模型与 CNI 接口设计:从 Pod IP 到网…

2026/7/22 16:16:52阅读更多 →
【转载】【安装指南】maven下载、安装与配置详细教程

【转载】【安装指南】maven下载、安装与配置详细教程

一、概述 maven功能与python的pip类似。 Apache Maven是一个用于软件项目管理和构建的强大工具。它是基于项目对象模型的,用于描述项目的构建配置和依赖关系。以下是一些关键的 Maven 特性和概念: POM(Project Object Model)&…

2026/7/22 16:16:52阅读更多 →
C28x DSP VCU-II指令集深度解析:伽罗华域与维特比译码的硬件加速实践

C28x DSP VCU-II指令集深度解析:伽罗华域与维特比译码的硬件加速实践

1. 项目概述在嵌入式信号处理领域,尤其是在无线通信、卫星导航、电力线载波通信以及工业控制等对实时性和可靠性要求极高的场景中,纠错编码是确保数据完整性的基石。其中,里德-所罗门(Reed-Solomon)编码和卷积码的维特…

2026/7/22 16:16:52阅读更多 →
宠物除臭喷雾技术拆解:复合生物酶多酶协同除臭反应路径与实测数据分析

宠物除臭喷雾技术拆解:复合生物酶多酶协同除臭反应路径与实测数据分析

📌 CSDN专属声明:本文为技术解析版本,核心检测数据与品牌官网同步发布。全文基于中广测(广东省科学院测试分析研究所,CNAS认可实验室)6份公开检测报告,报告编号可在中广测官网(www.f…

2026/7/22 16:16:52阅读更多 →
小白程序员轻松入门大模型:从 Agent 基础到实战搭建,收藏必备!

小白程序员轻松入门大模型:从 Agent 基础到实战搭建,收藏必备!

本文详细介绍了 Agent 的概念及其与 ChatBot 的区别,核心在于调用工具的能力。文章梳理了 LangChain、LangGraph 和 DeerFlow 三者的关系,其中 LangChain 定义基础工具和 LLM 对话,LangGraph 用图方式编排复杂工作流,DeerFlow 则在…

2026/7/22 16:16:52阅读更多 →
AI搜索服务选型倒计时:OpenSearch 2.12+ES 8.14+Vespa 8.3+Qdrant 1.9——仅剩3个版本支持实时多模态融合检索

AI搜索服务选型倒计时:OpenSearch 2.12+ES 8.14+Vespa 8.3+Qdrant 1.9——仅剩3个版本支持实时多模态融合检索

更多请点击: https://codechina.net 第一章:AI搜索服务选型倒计时:OpenSearch 2.12ES 8.14Vespa 8.3Qdrant 1.9——仅剩3个版本支持实时多模态融合检索 当前主流向量检索与语义搜索平台正经历关键兼容性窗口期。OpenSearch 2.12、Elasticsea…

2026/7/22 16:14:52阅读更多 →
Go语言静态资源打包方案对比与实践指南

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

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

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

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

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

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

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

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

2026/7/22 0:53:59阅读更多 →
中小企业小程序开发公司怎么选:预算、上手和售后避坑指南

中小企业小程序开发公司怎么选:预算、上手和售后避坑指南

中小企业做小程序,最常见的矛盾是预算有限,但又不希望功能太单薄;没有技术团队,但又希望后续能自己运营;想快速上线,又担心隐性收费和售后失联。选型时如果只看“低价套餐”或“案例数量”,很容…

2026/7/22 0:01:17阅读更多 →
GEO优化如何沉淀长期内容资产?广拓时代谈AI搜索时代的内容ROI

GEO优化如何沉淀长期内容资产?广拓时代谈AI搜索时代的内容ROI

企业做营销,最怕钱花完了,资产没有留下。 效果广告能带来一段时间的曝光,但预算停止后,流量往往也随之停止。短视频内容可能在几天内冲高,也可能很快沉下去。AI搜索时代,企业需要重新思考一个问题&#xff…

2026/7/22 0:01:17阅读更多 →
Agent 终态判定:何时该停止思考、给出最终回复

Agent 终态判定:何时该停止思考、给出最终回复

Agent 终态判定:何时该停止思考、给出最终回复 一、你的 Agent 在"再想想"的循环里绕了 12 轮,用户已经关窗口了 Agent 与人最大的区别是:人知道什么时候该停下来给答案,Agent 会一直"想"下去。你给 Agent 接…

2026/7/22 0:01:17阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/21 22:53:50阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/21 18:53:30阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/21 18:53:30阅读更多 →