【Stackoverflow好问题】将InputStream转换为String

不重复造轮子。最靠谱的方法,还是用Apache
commons
 IOUtils

这样简单几行代码就搞定了

StringWriter writer = new StringWriter();
IOUtils.copy(inputStream, writer, encoding);
String theString = writer.toString();

或者

String theString = IOUtils.toString(inputStream, encoding)

如果不想引入Apache库,也可以这样做

static String convertStreamToString(java.io.InputStream is) {
    java.util.Scanner s = new java.util.Scanner(is).useDelimiter("\\A");
    return s.hasNext() ? s.next() : "";}

stackoverflow讨论地址

http://stackoverflow.com/questions/309424/read-convert-an-inputstream-to-a-string

专栏介绍:

非常喜欢stackoverflow,总能在上面找到疑难杂症的解决办法。偶然发现该网站有一个热度榜单。于是精选了热度较高的一些问题,阅读每个问题的答案,然后按照自己的理解梳理出来。因此,这些文章不是真正的翻译,而是按照自己的理解做了一些增删和个人风格的润色,希望能把上面的讨论,更精简有效地分享给大家。

如需转载,请注明原文地址

http://blog.csdn.net/lizeyang

时间: 2024-07-29 18:09:24

【Stackoverflow好问题】将InputStream转换为String的相关文章

InputStream转换为String, byte[] data = new byte[1024]详解

/** * This file created at 2018年2月28日. * * Copyright (c) 2002-2018 Bingosoft, Inc. All rights reserved. */ import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.

inputStream 与 String 的互相转换

一. String 转换为InputStream String str = "String 与 inputStream转换"; InputStream ins1 = new ByteArrayInputStream(str.getBytes()); InputStream ins2 = new ByteArrayInputStream(str.getBytes("UTF-8")); 二. InputStream 转为 String 方法一:利用bufferedRea

[技巧篇]19.InputStream与String,Byte之间互转[转载]

import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; /** * @see InputStream转化为String String 转换为InputStream InputStream 转化为byte数组 byte转化为InputStream byte转化为String * @author

关于InputStream 和String对象之间的相互转换

代码如下: package com.xin.stream; import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.nio.f

[utf8编码的byte[]数组转换为String时要注意的问题]

1. 通过socket给Java传递byte[]数组时,utf-8的字节数组在转换为String, Java并不会遇到0就停止结束,而是一直使用完byte[]的容量, 所以在转换为Java的String需要自己判断字节值是0的位置,再截取数组长度. [cpp] view plaincopyprint? public  static int searchByte(byte[] data, byte value) { int size = data.length; for (int i = 0; i

android 将图片通过base64转换为String 将图片String转换为Bitmap

1.Bitmap转换为图片字符串 Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); //该方法用来压缩图片,第一个参数为图片格式,第二个参数为截取图片的保留率,如当前为90,则保留之前图片90%的区域 bitmap.compress(Bitmap

[Java]_[初级]_[utf8编码的byte[]数组转换为String时要注意的问题]

场景: 1. 通过socket给Java传递byte[]数组时,utf-8的字节数组在转换为String, Java并不会遇到0就停止结束,而是一直使用完byte[]的容量, 所以在转换为Java的String需要自己判断字节值是0的位置,再截取数组长度. public static int searchByte(byte[] data, byte value) { int size = data.length; for (int i = 0; i < size; ++i) { if (data

Android - 资源(resource)转换为String

资源(resource)转换为String 本文地址: http://blog.csdn.net/caroline_wendy Android建议资源的动态绑定, 即把string写入资源内, 然后执行动态绑定. 有时需要把资源(resource)ID转换为相应的字符串String. 使用: String mystring = getResources().getString(R.string.mystring); 即可.

Clob对象转换为String

/** * @title: clobParseString * @description:TODO Clob对象转换为String * @author: yubo * @param clob * @return * @throws SQLException * @date:2016-1-6下午4:01:42 */ public static String clobParseString(Clob clob) throws SQLException{ String result = ""