首先,根据传入的路径创建一个文件对象 directory
。使用 exists()
方法检查该文件是否存在,以及 isDirectory()
方法检查该文件是否为目录。如果文件存在且为目录,则使用 listFiles()
方法获取该目录下的所有文件。检查返回的文件数组是否为空,并且长度大于 0。对于每个文件,首先检查它是否为文件且是音乐文件(通过 isMusicFile()
方法判断)【注意:这里可替换为自己想要的文件类型】。如果是音乐文件,则获取文件的绝对路径和文件名,并调用 getMusicFileInfo()
方法处理音乐文件信息。如果该文件是目录,则递归地调用 scanMusicFiles()
方法扫描子目录。扫描完成后,方法执行完毕。
/**
* 扫描U盘路径
*/
private void scanMusicFiles(String path) {
File directory = new File(path);
if (directory.exists() && directory.isDirectory()) {
File[] files = directory.listFiles();
if (null != files && files.length > 0) {
for (File file : files) {
if (file.isFile() && isMusicFile(file)) {
//TODO 对获取到的音乐文件进行处理
} else if (file.isDirectory()) {
// 递归扫描子目录
scanMusicFiles(file.getAbsolutePath());
}
}
}
}
}
以下是 isMusicFile()
方法,用于判断是否为音乐文件
/**
* 判断是否为音乐文件,可以根据文件后缀名进行判断
*/
private boolean isMusicFile(File file) {
String name = file.getName();
return name.endsWith(".mp3");
}