1865
- 收藏
- 点赞
- 分享
- 举报
Android 读取txt文件并以utf-8格式转换成字符串
本帖最后由 jp1017 于 2015-12-9 20:37 编辑
今天用到了城市选择三级联动的库,用的这个:[url]https://github.com/yangjinbo2014/CityPicker[/url]
需要读取txt里的城市信息,转换成字符串处理。
1 使用EncodingUtils
项目里用的代码是这样的:
[code] InputStream inputStream = mContext.getResources().getAssets().open("address.txt");
byte[] arrayOfByte = new byte[inputStream.available()];
inputStream.read(arrayOfByte);
String address = EncodingUtils.getString(arrayOfByte, "utf-8");[/code]
EncodingUtils工具类在org.apache.http.legacy.*包里,而这个包在sdk23成了一个jar包里,不推荐用了,因此推荐用下面的方法,java下读取流的转换。
2 使用InputStreamReader
---
直接上代码了:
[code] 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();
}[/code]
可以把这个放到字符串处理的工具类里,好了,就这样了,搞定!
分享是一种美德,更是一种生活方式!!
>也许你会说我是一个梦想者,但我不是唯一的一个。
>悦分享,越快乐^_^
欢迎交流,转载请注明出处,谢谢!
今天用到了城市选择三级联动的库,用的这个:[url]https://github.com/yangjinbo2014/CityPicker[/url]
需要读取txt里的城市信息,转换成字符串处理。
1 使用EncodingUtils
项目里用的代码是这样的:
[code] InputStream inputStream = mContext.getResources().getAssets().open("address.txt");
byte[] arrayOfByte = new byte[inputStream.available()];
inputStream.read(arrayOfByte);
String address = EncodingUtils.getString(arrayOfByte, "utf-8");[/code]
EncodingUtils工具类在org.apache.http.legacy.*包里,而这个包在sdk23成了一个jar包里,不推荐用了,因此推荐用下面的方法,java下读取流的转换。
2 使用InputStreamReader
---
直接上代码了:
[code] 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();
}[/code]
可以把这个放到字符串处理的工具类里,好了,就这样了,搞定!
分享是一种美德,更是一种生活方式!!
>也许你会说我是一个梦想者,但我不是唯一的一个。
>悦分享,越快乐^_^
欢迎交流,转载请注明出处,谢谢!
我来回答
回答2个
时间排序
认可量排序
认可0
认可0
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片
相关问答
-
2020-01-03 16:16:42
-
2008-05-24 14:33:08
-
2014-08-20 14:07:10
-
2019-12-18 18:03:12
-
2018-09-29 11:10:29
-
2018-12-05 15:20:25
-
2019-01-21 14:58:53
-
2016-05-25 18:19:21
-
2008-07-30 12:42:45
-
2016-07-19 15:32:03
-
2016-11-01 23:09:33
-
2019-07-21 17:17:51
-
2020-05-15 10:58:48
-
2020-01-10 20:21:25
-
2017-10-31 03:48:52
-
2012-12-24 14:34:51
-
2012-12-04 11:53:25
-
2019-01-10 15:23:21
-
2019-01-02 09:42:51
无更多相似问答 去提问

点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认