Android 查找文件夹内所有文件,删除文件,解压压缩包

一.Android 查找该目录下所有文件

 public static List<String> getFilesAllName(String path) {
        File file = new File(path);
        File[] files = file.listFiles();
        if (files == null) {
            Log.e("error", "空目录");
            return null;
        }
        List<String> s = new ArrayList<>();
        for (int i = 0; i < files.length; i++) {
                s.add(files[i].getName());
                Log.e("lhl",files[i].getName());
        }
        return s;

    }

二.Android 删除文件

String nameUrl = Environment.getExternalStorageDirectory().getAbsolutePath()+ File.separator  + "json"+File.separator+name+File.separator;
File dwFile = new File(nameUrl+ "DW.json");
dwFile.delete();

三.Android 解压压缩包文件

 /**
     * 解压zip压缩文件到指定目录
     *
     * @param zipPath
     */
    public static boolean unzipFile(String zipPath,String zipFileName) {
        try {
            Log.e("whh0927", "开始解压的文件:" + zipPath + "," + "解压的目标路径:" + tempFileName+zipFileName);
            // 创建解压目标目录
            File file = new File(tempFileName+zipFileName);
            // 如果目标目录不存在,则创建
            if (!file.exists()) {
                file.mkdirs();
            }
            // 打开压缩文件
            InputStream inputStream = new FileInputStream(zipPath);

            ZipInputStream zipInputStream = new ZipInputStream(inputStream);

            // 读取一个进入点
            ZipEntry zipEntry = zipInputStream.getNextEntry();
            // 使用1Mbuffer
            byte[] buffer = new byte[1024 * 1024];
            // 解压时字节计数
            int count = 0;
            // 如果进入点为空说明已经遍历完所有压缩包中文件和目录
            while (zipEntry != null) {
//                Log.e("whh0927", "解压文件 入口 1: " + zipEntry);
                if (!zipEntry.isDirectory()) {  //如果是一个文件
                    // 如果是文件
                    String fileName = zipEntry.getName();
//                    Log.e("whh0927", "解压文件 原来 文件的位置: " + fileName);
                    fileName = fileName.substring(fileName.lastIndexOf("/") + 1);  //截取文件的名字 去掉原文件夹名字
//                    Log.e("whh0927", "解压文件 的名字: " + fileName);
                    file = new File(tempFileName+zipFileName + File.separator + fileName);  //放到新的解压的文件路径

                    file.createNewFile();
                    FileOutputStream fileOutputStream = new FileOutputStream(file);
                    while ((count = zipInputStream.read(buffer)) > 0) {
                        fileOutputStream.write(buffer, 0, count);
                    }
                    fileOutputStream.close();

                }

                // 定位到下一个文件入口
                zipEntry = zipInputStream.getNextEntry();
//                Log.e("whh0927", "解压文件 入口 2: " + zipEntry);
            }
            zipInputStream.close();
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            Log.e("whh0927", "unzipFile Exception" + e.toString());
            return false;
        }

    }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容