app/src/main/java/net/nashlegend/sourcewall/util/FileUtil.java

(开头部分) 5KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

package net.nashlegend.sourcewall.util;

import android.annotation.SuppressLint;
import android.content.ContentUris;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.os.Build;
import android.os.Environment;
import android.provider.DocumentsContract;
import android.provider.MediaStore;

import java.io.File;

/**
 * Created by NashLegend on 2014/12/1 0001
 */
public class FileUtil {

    private static final String[] imageSuffixArray = {"jpg", "jpeg", "png", "bmp", "gif"};

    public static boolean isImage(String path) {
        return isArrayContains(imageSuffixArray, getFileSuffix(new File(path)));
    }

    private static boolean isArrayContains(String[] strs, String suffix) {
        if (strs == null || suffix == null) {
            return false;
        }
        for (int i = 0; i < strs.length; i++) {
            if (suffix.equals(strs[i])) {
                return true;
            }
        }
        return false;
    }

    public static String getFileSuffix(File file) {
        if (file.isDirectory()) {
            return "";
        }
        String fileName = file.getName();
        String suffix = "";
        int offset = fileName.lastIndexOf(".");
        if (offset >= 0) {
            suffix = fileName.substring(offset + 1);
        }
        return suffix.toLowerCase();
    }

    @SuppressLint("NewApi")
    public static String getActualPath(final Context context, final Uri uri) {
        final boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;

        // DocumentProvider
        if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) {
            if (isExternalStorageDocument(uri)) {
                final String docId = DocumentsContract.getDocumentId(uri);
                final String[] split = docId.split(":");
                final String type = split[0];
后面还有 106 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。