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

博客: 安卓之家
微博: 追风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("
");
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
		return sb.toString();
	}

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

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

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

悦分享,越快乐_

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

原文地址:https://www.cnblogs.com/jp1017/p/5034132.html