Android 读取txt文件并以utf-8格式转换成字符串

时间:2023-01-05 22:03:12

博客: 安卓之家
微博: 追风917
CSDN: 蒋朋的家
简书: 追风917
博客园: 追风917

使用EncodingUtils


今天用到了城市选择三级联动的库,用的这个:https://github.com/yangjinbo2014/CityPicker

需要读取txt里的城市信息,转换成字符串处理。

项目里用的代码是这样的:

    InputStream inputStream = mContext.getResources().getAssets().open("address.txt");
    byte[] arrayOfByte = new byte[inputStream.available()];
    inputStream.read(arrayOfByte);
    String address = EncodingUtils.getString(arrayOfByte, "utf-8");

EncodingUtils工具类在org.apache.http.legacy.*包里,而这个包在sdk23成了一个jar包里,不推荐用了,因此推荐用下面的方法,java下读取流的转换。

使用InputStreamReader


直接上代码了:

    public static String getString(InputStream inputStream) {
        InputStreamReader inputStreamReader = null;
        try {
            inputStreamReader = new InputStreamReader(inputStream, "utf-8");
        } catch (UnsupportedEncodingException e1) {
            e1.printStackTrace();
        }
        BufferedReader reader = new BufferedReader(inputStreamReader);
        StringBuilder sb = new StringBuilder("");
        String line;
        try {
            while ((line = reader.readLine()) != null) {
                sb.append(line);
                sb.append("\n");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return sb.toString();
    }

可以把这个放到字符串处理的工具类里,好了,就这样了,搞定!

分享是一种美德,更是一种生活方式!!

也许你会说我是一个梦想者,但我不是唯一的一个。

悦分享,越快乐^_^

欢迎交流,转载请注明出处,谢谢!