安卓移动文件(图片)到指定目录,并在相册中显示
今天记录一下如何将手机中的文件(针对的是图片)移动到我们指定的文件夹下,同时让在相册中显示。
第一步,移动文件:
移动文件网上代码很多,就是文件的读写,我随便复制了一个,具体来源有点忘了。
/**
* 复制单个文件
*
* @param oldPath String 原文件路径 如:c:/fqf.txt
* @param newPath String 复制后路径 如:f:/fqf.txt
* @return boolean
*/
public void copyFile(String oldPath, String newPath) {
try {
// int bytesum = 0;
int byteread = 0;
File oldfile = new File(oldPath);
if (oldfile.exists()) { //文件存在时
InputStream inStream = new FileInputStream(oldPath); //读入原文件
FileOutputStream fs = new FileOutputStream(newPath);
byte[] buffer = new byte[1444];
// int length;
while ((byteread = inStream.read(buffer)) != -1) {
// bytesum += byteread; //字节数 文件大小
// System.out.println(bytesum);
fs.write(buffer, 0, byteread);
}
inStream.close();
}
} catch (Exception e) {
System.out.println("复制单个文件操作出错");
e.printStackTrace();
}
}
这样,文件就copy了一份。不过这个时候去相册看,会发现没有。但是文件管理里面确实有这个图片。那么如何让相册显示呢?其实很简单,就是copy完之后,通知一下系统,有新的图片了就ok了。代码也很简单:
Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
Uri uri = Uri.fromFile(new File(newPath));
intent.setData(uri);
sendBroadcast(intent);
说明:Uri.fromFile(new File(newPath))中参数就是你新地址的文件file.
ok,,至此,就完成了文件的移动已经在相册中显示。
最后,如果不想相册中重复显示图片,可以删除之前的:
File oldFile = new File(oldPath);
oldFile.delete();
本文记录了如何简单的实现文件移动到指定文件夹,以及在相册中显示。