无法使用“dd”复制文件

时间:2015-11-26 07:08:59

标签: android shell

我正在使用此代码在存储文件夹之间复制文件 -

File myDir = new File(root + "/Temp/");    
myDir.mkdirs();
try {
        Runtime.getRuntime().exec("dd if="+path+" of="+myDir+"/1.jpg");

} catch (Exception e) {
       e.printStackTrace();
}

(path =从afilechooser获取字符串路径)

此代码适用于名称中没有“空格”的每个图像。这样的图像示例是 - “sdcard / DCIM / 121331.jpg”,“sdcard / A / hhh.jpg”。但是没有在这样的图像路径中工作 - “带有空格的sdcard / A B C / The image.jpg”。

我尝试使用双引号和单引号括起来的路径。但不行。请帮助我解决问题。谢谢你的有趣。

(由于方向错误和一些缺点,我不想将其保存为位图输出)

2 个答案:

答案 0 :(得分:1)

我认为你根本不应该使用dd。

exec也可能是一个坏主意。

为什么不使用Apache Commons FileUtils

static void copyFile(File srcFile, File destFile);

或者

static void copyFileToDirectory(File srcFile,File destDir);

答案 1 :(得分:1)

如果你真的必须使用dd而不是Java。 像在Linux shell中一样逃避空间。

String file = ...
file.replaceAll(" ", "\\ ");