欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java读取InputStream文本内容的几种方式,javainputstream,第一种方式:只使用jav

来源: javaer 分享于  点击 29898 次 点评:31

java读取InputStream文本内容的几种方式,javainputstream,第一种方式:只使用jav


第一种方式:只使用java的标准库,使用java.util.Scanner

public static String convertStreamToString(java.io.InputStream is) {    java.util.Scanner s = new java.util.Scanner(is).useDelimiter("\\A");    return s.hasNext() ? s.next() : "";}

第二种方式:使用java.io.Reader和StringBuilder

public static String slurp(final InputStream is, final int bufferSize){  final char[] buffer = new char[bufferSize];  final StringBuilder out = new StringBuilder();  try {    final Reader in = new InputStreamReader(is, "UTF-8");    try {      for (;;) {        int rsz = in.read(buffer, 0, buffer.length);        if (rsz < 0)          break;        out.append(buffer, 0, rsz);      }    }    finally {      in.close();    }  }  catch (UnsupportedEncodingException ex) {    /* ... */  }  catch (IOException ex) {      /* ... */  }  return out.toString();}

第三种方式: 借助于apache commons的IOUtils类将InputStream复制到StingReader中:

StringWriter writer = new StringWriter();IOUtils.copy(inputStream, writer, encoding);String theString = writer.toString();
相关栏目:

用户点评