android开发分享将InputStream转换为BufferedReader

我试图从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

      (0)
      上一篇 2020年12月3日
      下一篇 2020年12月3日

      精彩推荐