当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
如何将InputStream转成String
发布时间:2010/7/5 15:49:04 来源:城市学习网 编辑:ziteng
  这个例子将展示如何将InputStream转换成String。在下面的代码片段中我们读入一个data.txt文件,该文件可能来自于一个普通的文件夹或者来自jar文件中。
  1 package org.kodejava.example.io;
  2
  3  import java.io.InputStream;
  4  import java.io.IOException;
  5  import java.io.BufferedReader;
  6  import java.io.InputStreamReader;
  7
  8  public class StreamToString {
  9
  10     public static void main(String[] args) throws Exception {
  11         StreamToString sts = new StreamToString();
  12
  13         /*
  14          * 从数据文件中得到InputStream. 这个文件可以在应用程序的根目录下
  15          * 或者如果这个程序被打包成了一个jar, 它可以在这个jar文件的内部.
  16          *
  17          */
  18         InputStream is = sts.getClass().getResourceAsStream("/data.txt");
  19
  20         /*
  21          * 调用将InputStream转成String的函数
  22          */
  23         System.out.println(sts.convertStreamToString(is));
  24     }
  25 [NextPage]   26     public String convertStreamToString(InputStream is) throws IOException {
  27         /*
  28          * 为了将InputStream转换成String我们使用函数BufferedReader.readLine().
  29          * 我们迭代调用BufferedReader直到其返回null, null意味着没有其他的数据要读取了.
  30          * 每一行将会追加到StringBuilder的末尾, StringBuilder将作为String返回。
  31          *
  32          */
  33         if (is != null) {
  34             StringBuilder sb = new StringBuilder();
  35             String line;
  36
  37             try {
  38                 BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
  39                 while ((line = reader.readLine()) != null) {
  40                     sb.append(line).append("\n");
  41                 }
  42             } finally {
  43                 is.close();
  44             }
  45             return sb.toString();
  46         } else {
  47             return "";
  48         }
  49     }
  50 }
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved