java:加快读取外文字符

标签 java inputstream

我当前的代码需要从 web 读取外来字符,目前我的解决方案有效但速度很慢,因为它使用 InputStreamReader 逐个字符地读取。有没有办法加快速度并完成工作?

// Pull content stream from response
        HttpEntity entity = response.getEntity();
        InputStream inputStream = entity.getContent();

        StringBuilder contents = new StringBuilder();
        int ch;
        InputStreamReader isr = new InputStreamReader(inputStream, "gb2312");
          // FileInputStream file = new InputStream(is);
         while( (ch = isr.read()) != -1)
             contents.append((char)ch);
         String encode = isr.getEncoding();

         return contents.toString();

最佳答案

BufferedReader 包裹你的 InputStreamReader

for the efficient reading of characters, arrays, and lines.

InputStreamReader isr = new InputStreamReader(inputStream, "gb2312");
Reader reader = new BufferedReader(isr);

关于java:加快读取外文字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2610991/

相关文章:

java - 简单 JSP 网页上的 Tomcat 404 错误

java - 使用 JFreeChart 的市场深度图表

java - 两种双向 SSL 身份验证

java - 我需要在 Java 中关闭 InputStream 吗?

android - 下载 PDF 时 InputStream 返回空文件

java - 如何使 jButton 操作不仅仅在一次运行中起作用?

java - 在负载下忽略日志指令的自适应 log4j appender

java - 从包含数千个 s3 对象的 s3 存储桶中读取

java - 为什么流行的Java Base64编码库使用OutputStreams进行编码,使用InputStreams进行编码?

java - 如何使用 InputStream 从 ZIP 中读取文件?