Android-FileUtil工具类

来源:互联网 发布:开源cms系统 php 编辑:程序博客网 时间:2024/05/16 16:17

基础:

isFile()判断是否是文件(比如:temp.txt)
isDirectory()判断是否是目录(比如:/a/b/c)
files[i].isFile()与 ! files[i].isDirectory() 等价,即不是目录就是文件

mkdir()是创建一个不存在的目录,
createNewFile()是创建一个不存在的文件。

功能
保存图片在本地File

代码:

package com.example.administrator.downloadimgdemo.cacheutils;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Environment;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;/** * File的构造方法 * //public File(String pathname) * //public File(String parent, String child) * //public File(File parent, String child) * Created by Administrator on 2017/5/3. */public class FileUtils {    private static final String CACHE_DIR = Environment.getExternalStorageDirectory() + "/my_caches/images";// 缓存文件夹    /**     * 判断sdcard是否挂载     *     * @return     */    public static boolean isMounted() {        String state = Environment.getExternalStorageState();        return state.equals(Environment.MEDIA_MOUNTED);    }    /**     * 获取sdcard的根目录     *     * @return     */    public static String getSDCARDDir() {        return Environment.getExternalStorageDirectory().getAbsolutePath();    }    /**     * 存储图片一     *     * @param url  : 图片的http网络地址     * @param data     * @throws IOException     */    public static void saveImage(String url, byte[] data) throws IOException {        // 1. 判断是否有sdcard        if (!isMounted()) {            return;        }        // 2. 判断是否有缓存的文件夹        File dir = new File(CACHE_DIR);        if (!dir.exists()) {            dir.mkdirs();// 多层文件夹        }        // 3. 存储图片到sdcard        File file = new File(dir, getFilename(url));        FileOutputStream fos = new FileOutputStream(file);        fos.write(data);        fos.close();    }    /**     * 保存图片二     *     * @param url    : 图片的http网络地址     * @param bitmap     * @throws IOException     */    public static void saveImage(String url, Bitmap bitmap) throws IOException {        // 1. 判断是否有sdcard        if (!isMounted()) {            return;        }        // 2. 判断是否有缓存的文件夹        File dir = new File(CACHE_DIR);        if (!dir.exists()) {            dir.mkdirs();        }        // 3. 存储图片到sdcard        File file = new File(dir, getFilename(url));        FileOutputStream fos = new FileOutputStream(file);        bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);    }    /**     * 获取图片名     *     * @param url     * @return     */    public static String getFilename(String url) {        return url.substring(url.lastIndexOf("/") + 1);    }    /**     * 读图片     *     * @param url     * @return     */    public static Bitmap readImage(String url) {        // 判断是否有sdcard        if (!isMounted()) {            return null;        }        File file = new File(CACHE_DIR, getFilename(url));        if (file.exists()) {            // file->bitmap            return BitmapFactory.decodeFile(file.getAbsolutePath());        }        return null;    }    /**     * 清空缓存目录     */    public void clearCaches() {        File dir = new File(CACHE_DIR);        File[] allfiles = dir.listFiles();        for (File file : allfiles) {            file.delete();        }    }}
0 0