Board logo

标题: 如何将InputStream转成String [打印本页]

作者: qingqing3721    时间: 2011-5-14 12:42     标题: 如何将InputStream转成String

这个例子将展现如何将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
  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 }文章由 suyin.tk 淘宝缩阴产品排行榜 整理,收集辛苦,希望能保留出处。




欢迎光临 编程开发论坛 (http://bbs.lihuasoft.net/) Powered by Discuz! 6.0.0