当前位置:操作系统 > 安卓/Android >>

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 ,

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,