android 文件操作方法集合类分享
这个类整合了写文件,删除文件,复制文件,搜索文件,判断文件是否存在等,是对一些常用的功能进行封装了。
用于记录和方便以后使用。
[java]
public class FileAdapter {
private static final String TAG = "FileAdaptor";
/**
* 获取指定位置的指定类型的文件
*
* @param path
* 文件夹路径
* @param type
* 文件类型(如“*.jpg;*.png;*.gif”)
* @return
*/
public static void getFileList(String path, String type,
final OnFileListCallback onFileListCallback) {
new AsyncTask<String, String, String>() {
ArrayList<FileInfo> list = new ArrayList<FileInfo>();
@Override
protected void onPostExecute(String result) {
onFileListCallback.SearchFileListInfo(list);
}
@Override
protected String doInBackground(String... params) {
// TODO Auto-generated method stub
String path = params[1].substring(params[1]
.lastIndexOf(".") + 1);
File file = new File(params[0]);
scanSDCard(file,path,list);
return null;
}
}.execute(path, type, "");
}
/**
* 扫描完成后的回调,获取文件列表必须实现
*
* @author cola
*
*/
public inte易做图ce OnFileListCallback {
/**
* 返回查询的文件列表
* @param list 文件列表
*/
public void SearchFileListInfo(List<FileInfo> list);
}
private static void scanSDCard(File file, String ext, ArrayList<FileInfo> list) {
if (file.isDirectory()) {
File[] files = file.listFiles();
if (files != null) {
for (int i = 0; i < files.length; i++) {
File tmp = files[i];
if (tmp.isFile()) {
String fileName = tmp.getName();
String filePath = tmp.getName();
if (fileName.indexOf(".") >= 0) {
fileName = fileName.substring(fileName
.lastIndexOf(".") + 1);
if (ext != null && ext.equalsIgnoreCase(fileName)) {
AspLog.i(TAG, filePath);
FileInfo info = new FileInfo();
info.fileName = filePath;
info.filePath = tmp.getAbsolutePath();
list.add(info);
}
}
} else
scanSDCard(tmp, ext, list);
}
补充:移动开发 , Android ,