String與InputStream互轉的幾種方法


/**
* 利用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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM