【发布时间】:2018-06-26 13:32:59
【问题描述】:
我正在尝试使用 adb 从 MAC PC 处理我设备中的文件。
我手机中的一个文件夹中有一个空格,所以我环顾四周并尝试使用转义符,即\,并使用下面给出的引号
import java.io.*;
public class TestModule {
public static void main(String[] args) throws IOException,InterruptedException {
String line = "null";
String cmd = "adb pull /storage/sdcard1/Android/data/files/test\\ Information/ /Users/sbc/Desktop";
Runtime run = Runtime.getRuntime();
Process pr = run.exec(cmd);
BufferedReader buf = new BufferedReader(new InputStreamReader(pr.getInputStream()));
while ((line=buf.readLine())!=null) {
System.out.println(line);
}
}
}
我在终端中运行了相同的命令,我可以访问该文件,但通过 java 它给了我远程对象不存在错误。
非常感谢任何帮助
【问题讨论】:
-
改用
String cmd = "adb pull '/storage/sdcard1/Android/data/files/test Information/' /Users/cdp/Desktop"; -
您好,谢谢您的回复,我尝试了您所说的单引号和双引号,也按照您建议的链接,使用 ProcessBuilder 并将字符串更改为字符串数组。我仍然得到相同的远程对象不存在错误
-
也尝试将数组列表提供给 processBuilder,仍然没有成功