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("\n");
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
		return sb.toString();
	}

可以把這個放到字符串處理的工具類里,好了,就這樣了,搞定!

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

也許你會說我是一個夢想者,但我不是唯一的一個。

悅分享,越快樂_

歡迎交流,轉載請注明出處,謝謝!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM