我试图从Android的资产目录中使用InputStream逐行读取文本文件。
我想将InputStream转换为BufferedReader以便能够使用readLine()。
我有以下代码:
InputStream is; is = myContext.getAssets().open ("file.txt"); BufferedReader br = new BufferedReader (is);
第三行删除以下错误:
这条线上有多个标记 构造函数BufferedReader(InputStream)是未知的。
我想在C中做的事情是这样的:
StreamReader file; file = File.OpenText ("file.txt"); line = file.ReadLine(); line = file.ReadLine(); ...
我做错了什么,或者我该怎么做? 谢谢!
BufferedReader
不能直接包装InputStream
。 它包装另一个Reader
。 在这种情况下,你会想要做一些事情:
BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
BufferedReader构造函数将读取器作为参数,而不是InputStream。 您应该先从stream中创build一个Reader,如下所示:
Reader reader = new InputStreamReader(is); BufferedReader br = new BufferedReader(reader);
最好还为StreamReader构造函数提供一个字符集或字符编码名称。 由于stream只是提供字节,所以将它们转换为文本意味着编码必须是已知的。 如果您没有指定,则假定系统默认。
InputStream is; InputStreamReader r = new InputStreamReader(is); BufferedReader br = new BufferedReader(r);
以上就是android开发分享将InputStream转换为BufferedReader相关内容,想了解更多android开发(异常处理)及android游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/addevelopment/516803.html