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

时间:2023-01-05 21:58:49

博客: 安卓之家
微博: 追风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();
}

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

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

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

悦分享,越快乐^_^

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