String与InputStream相互转换
1.String to InputStream
String str = “String与InputStream相互转换”;
InputStream in = new ByteArrayInputStream(str.getBytes());
InputStream in = new ByteArrayInputStream(str.getBytes(“UTF-8”));
建议使用这种方式,指定编码后不易乱码。
2.InputStream to String
这里提供几个方法。
方法1:
public String convertStreamToString(InputStream is) {
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null;
try \{
while ((line = reader.readLine()) != null) \{
sb.append(line + "/n");
\}
\} catch (IOException e) \{
e.printStackTrace();
\} finally \{
try \{
is.close();
\} catch (IOException e) \{
e.printStackTrace();
\}
\}
return sb.toString();
\}
方法2:
public String inputStream2String (InputStream in) throws IOException {
StringBuffer out = new StringBuffer();
byte[] b = new byte[4096];
for (int n; (n = in.read(b)) != -1;) {
out.append(new String(b, 0, n));
}
return out.toString();
}
方法3:
public static String inputStream2String(InputStream is) throws IOException{
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int i=-1;
while((i=is.read())!=-1){
baos.write(i);
}
return baos.toString();
}
还没有评论,来说两句吧...