我正在使用此代码在存储文件夹之间复制文件 -
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”。
我尝试使用双引号和单引号括起来的路径。但不行。请帮助我解决问题。谢谢你的有趣。
(由于方向错误和一些缺点,我不想将其保存为位图输出)
答案 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(" ", "\\ ");