/**
* 移動至指定文件夾
* @param path 圖片源完整路徑
* @param newPath 目標文件夾路徑
* @param name 圖片名稱(例如:aaa.jpg)
* @return
*/
public static boolean moveFile(String path, String newPath, String name) {
File oldfile = new File(path);
if (!oldfile.exists()) {
return false;
}
File desfile = new File(newPath);
if (!desfile.exists()) {
desfile.mkdirs();
}
int size = 0;
try {
InputStream is = new FileInputStream(oldfile); // 讀入原文件
OutputStream os = new FileOutputStream(desfile.getAbsolutePath() + name);
byte[] bs = new byte[1024];
while ((size = is.read(bs)) != -1) {
os.write(bs, 0, size);
os.flush();
}
os.close();
is.close();
oldfile.delete();
return true;
} catch (IOException e) {
e.printStackTrace();
Log.e(TAG, "移動至指定文件夾異常失敗");
return false;
}
}
要移動的肯定為空了啊,因為你調了oldfile.delete();你應該在return true之前加上if(desfile.getAbsolutePath().equals(newPath)