正文
inputStream 与 String 的互相转换
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
一. String 转换为InputStream
String str = "String 与 inputStream转换";
InputStream ins1 = new ByteArrayInputStream(str.getBytes());
InputStream ins2 = new ByteArrayInputStream(str.getBytes("UTF-8"));
二. InputStream 转为 String
方法一:利用bufferedReader
1: public String convertToString(InputStream is){
CRLF
2: BufferedReader bReader = new BufferedReader(new InputStreamReader(is));
CRLF
3: StringBuffer buffer = new StringBuffer();
CRLF
4: String line = null;
CRLF
5: try {
CRLF
6: while((line = bReader.readLine())!=null){
CRLF
7: buffer.append(line);
CRLF
8: }
CRLF
9: } catch (IOException e) {
CRLF
10: // TODO Auto-generated catch block
CRLF
11: e.printStackTrace();
CRLF
12: }finally{
CRLF
13: try {
CRLF
14: bReader.close();
CRLF
15: } catch (IOException e) {
CRLF
16: // TODO Auto-generated catch block
CRLF
17: e.printStackTrace();
CRLF
18: }
CRLF
19: }
CRLF
20: return buffer.toString();
CRLF
21: }
CRLF
方法二:
1: public String convertToString(InputStream is){
CRLF
2: StringBuffer buffer = new StringBuffer();
CRLF
3: byte[] b = new byte[1024];
CRLF
4: try {
CRLF
5: for(int n; (n = is.read(b))!=-1;)
CRLF
6: buffer.append(new String(b,0,n));
CRLF
7: return buffer.toString();
CRLF
8: } catch (IOException e) {
CRLF
9: // TODO Auto-generated catch block
CRLF
10: e.printStackTrace();
CRLF
11: }finally{
CRLF
12: try {
CRLF
13: is.close();
CRLF
14: } catch (IOException e) {
CRLF
15: // TODO Auto-generated catch block
CRLF
16: e.printStackTrace();
CRLF
17: }
CRLF
18: }
CRLF
19: }
CRLF
方法三:
1: public String convertToString(InputStream is){
CRLF
2: ByteArrayOutputStream os = new ByteArrayOutputStream();
CRLF
3: int i = -1;
CRLF
4: try {
CRLF
5: while((i = is.read())!=-1){
CRLF
6: os.write(i);
CRLF
7: }
CRLF
8: return os.toString();
CRLF
9: } catch (IOException e) {
CRLF
10: // TODO Auto-generated catch block
CRLF
11: e.printStackTrace();
CRLF
12: return null;
CRLF
13: }finally{
CRLF
14: try {
CRLF
15: os.close();
CRLF
16: } catch (IOException e) {
CRLF
17: // TODO Auto-generated catch block
CRLF
18: e.printStackTrace();
CRLF
19: }
CRLF
20: }
CRLF
21: }
CRLF