【Java】读取手机文件名称
2024-03-10 本文已影响0人
LI耳
首先,确保你已经连接了你的手机并已启用 USB 调试模式。然后,你需要使用 Android Debug Bridge(ADB)工具来获取手机文件列表。以下是一个简单的 Java 代码片段,使用 ProcessBuilder 调用 ADB 命令来获取文件列表:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class ADBFileLister {
public static void main(String[] args) {
String adbPath = "path/to/adb"; // 替换为你的 adb 路径
String deviceID = "your_device_id"; // 如果只连接了一个设备,可以为 null
// Android 文件路径
String androidPath = "/storage/emulated/0/BaiduNetdisk/我的学习";
List<String> fileList = listFiles(adbPath, deviceID, androidPath);
// 打印文件列表
for (String file : fileList) {
System.out.println(file);
}
}
private static List<String> listFiles(String adbPath, String deviceID, String androidPath) {
List<String> fileList = new ArrayList<>();
// 构建 ADB 命令
List<String> command = new ArrayList<>();
command.add(adbPath);
if (deviceID != null) {
command.add("-s");
command.add(deviceID);
}
command.add("shell");
command.add("ls");
command.add(androidPath);
// 执行 ADB 命令
try {
ProcessBuilder processBuilder = new ProcessBuilder(command);
Process process = processBuilder.start();
// 读取命令输出
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
fileList.add(line);
}
process.waitFor();
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
return fileList;
}
}
请注意
替换 adbPath 为你本地的 ADB 工具的路径,
deviceID 为你设备的 ID(可以通过 adb devices 查看),
androidPath 为你想要列出文件的 Android 设备路径。
此代码片段调用 ADB 命令 adb shell ls,并将输出的文件列表读取到 fileList 中。请确保你的手机已连接,并且 ADB 工具的路径正确。