Board logo

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

作者: qingqing3721    时间: 2012-5-18 10:48     标题: 如何将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 }




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