首页 > 其他 > 详细

String与InputStream互转的几种方法

时间:2021-05-11 17:45:15      阅读:19      评论:0      收藏:0      [点我收藏+]

/**
* 利用BufferedReader实现Inputstream转换成String <功能详细描述>
*
* @param in
* @return String
*/

public static String Inputstr2Str_Reader(InputStream in, String encode)
{

String str = "";
try
{
if (encode == null || encode.equals(""))
{
// 默认以utf-8形式
encode = "utf-8";
}
BufferedReader reader = new BufferedReader(new InputStreamReader(in, encode));
StringBuffer sb = new StringBuffer();

while ((str = reader.readLine()) != null)
{
sb.append(str).append("\n");
}
return sb.toString();
}
catch (UnsupportedEncodingException e1)
{
e1.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}

return str;
}

/**
* 利用byte数组转换InputStream------->String <功能详细描述>
*
* @param in
* @return
* @see [类、类#方法、类#成员]
*/

public static String Inputstr2Str_byteArr(InputStream in, String encode)
{
StringBuffer sb = new StringBuffer();
byte[] b = new byte[1024];
int len = 0;
try
{
if (encode == null || encode.equals(""))
{
// 默认以utf-8形式
encode = "utf-8";
}
while ((len = in.read(b)) != -1)
{
sb.append(new String(b, 0, len, encode));
}
return sb.toString();
}
catch (IOException e)
{
e.printStackTrace();
}
return "";

}

/**
* 利用ByteArrayOutputStream:Inputstream------------>String <功能详细描述>
*
* @param in
* @return
* @see [类、类#方法、类#成员]
*/
public static String Inputstr2Str_ByteArrayOutputStream(InputStream in,String encode)
{
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] b = new byte[1024];
int len = 0;
try
{
if (encode == null || encode.equals(""))
{
// 默认以utf-8形式
encode = "utf-8";
}
while ((len = in.read(b)) > 0)
{
out.write(b, 0, len);
}
return out.toString(encode);
}
catch (IOException e)
{
e.printStackTrace();
}
return "";
}

/**
* 利用ByteArrayInputStream:String------------------>InputStream <功能详细描述>
*
* @param inStr
* @return
* @see [类、类#方法、类#成员]
*/
public static InputStream Str2Inputstr(String inStr)
{
try
{
// return new ByteArrayInputStream(inStr.getBytes());
// return new ByteArrayInputStream(inStr.getBytes("UTF-8"));
return new StringBufferInputStream(inStr);
}
catch (Exception e)
{
e.printStackTrace();
}
return null;
}
————————————————
版权声明:本文为CSDN博主「iteye_2903」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/iteye_2903/article/details/82636090

String与InputStream互转的几种方法

原文:https://www.cnblogs.com/YaoLiu/p/14754226.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!