您的位置:首页 > 其它

inputStream 与 String 的互相转换

2015-06-21 09:26 323 查看
一. String 转换为InputStream

String str = "String 与 inputStream转换";

InputStream ins1 = new ByteArrayInputStream(str.getBytes());

InputStream ins2 = new ByteArrayInputStream(str.getBytes("UTF-8"));

二. InputStream 转为 String

方法一:利用bufferedReader

public String convertToString(InputStream is){
BufferedReader bReader = new BufferedReader(new InputStreamReader(is));
StringBuffer buffer = new StringBuffer();
String line = null;
try {
while((line = bReader.readLine())!=null){
buffer.append(line);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
    try {
bReader.close();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
}
return buffer.toString();
}


方法二:

public String convertToString(InputStream is){
StringBuffer buffer = new StringBuffer();
byte[] b = new byte[1024];
try {
for(int n; (n = is.read(b))!=-1;)
buffer.append(new String(b,0,n));
    return buffer.toString();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
    try {
is.close();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
}
}


方法三:

public String convertToString(InputStream is){
ByteArrayOutputStream os = new ByteArrayOutputStream();
int i = -1;
try {
while((i = is.read())!=-1){
os.write(i);
}
return os.toString();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}finally{
    try {
os.close();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: