Android 读取本地assets下配置文件

这篇博客讲述了如何在Android应用中从assets文件夹读取countries.txt,内容包括获取所有国家码、按字母排序、查找特定国家码,并强调了在读取文件时需要申请SD卡读写权限。推荐使用AndPermission库来处理权限,并提供了权限申请和手机号码验证的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本地assets资产配置文件下的文件:countries.txt  格式:

86;CN;China;XXX XXXX XXXX
 public static class Country {
        public String name;
        public String code;
        public String shortname;
        public String[] format;
        public int phoneLength;

        @Override
        public String toString() {
            return "Country{" +
                    "name='" + name + '\'' +
                    ", code='" + code + '\'' +
                    ", shortname='" + shortname + '\'' +
                    ", format=" + Arrays.toString(format) +
                    ", phoneLength=" + phoneLength +
                    '}';
        }
    }
c.name = args[2];
c.code = args[0];
c.shortname = args[1];
if (args.length>3){
    c.format = args[3].split(" ");
    String args2 = args[3].replace(" ","");
    if (!TextUtils.isEmpty(args2)){
        c.phoneLength = args2.length();
             }

}

 

1.获取全球所有国家的国家码

2.对获取到的所有国家码进行字母顺序排序

3.获取定位某个国家的的国家码

package im.kexin.app.messenger.utils;

import android.content.Context;
import android.text.TextUtils;

import org.telegram.messenger.FileLog;
import org.telegram.ui.CountrySelectActivity;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Locale;

import im.kexin.app.messenger.ApplicationLoader;

public class CountryUtils {
    /*
     * 获取国家码
     * */
    public static Country getLocaleCountry(Context context)
    {

        Locale locale = context.getResources().getConfiguration().locale;
        String key =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值