InputStream转String的方法

public String inputStreamToString(InputStream inputStream)throws Exception{
        byte[] bytes = new byte[0];
        int count = 0;
        while (count == 0) {
            count = inputStream.available();
        bytes = new byte[count];
        inputStream.read(bytes);
        String str = new String(bytes);
        return str;
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();
 public String inputStream3String(InputStream inputStream) throws Exception{
        StringBuilder sb = new StringBuilder();
        String line;
        BufferedReader br=null;
        String str=null;
        try {
            br = new BufferedReader(new InputStreamReader(inputStream));
            while ((line = br.readLine()) != null) {
                sb.append(line);
            str = sb.toString();
        }catch (Exception e){
        }finally {
            if (br!=null){
                br.close();
        return str;

注:readLine()是读取流读数据的时候用的,同时会以字符串形式返回这一行的数据,调用一次就会读取一行数据,读取之后会跳到下一行,当读取完所有的数据时会返回null。

public String inputStream4String(InputStream inputStream) throws Exception{
        String str=null;
        try ( ByteArrayOutputStream result = new ByteArrayOutputStream();
            byte[] buffer = new byte[1024];
            int length;
            while ((length = inputStream.read(buffer)) != -1) {
                result.write(buffer, 0, length);
            str = result.toString(StandardCharsets.UTF_8.name());
            result.close();
        return str;

String转InputStream

InputStrem is = new ByteArrayInputStream(str.getBytes());
ByteArrayInputStream stream= new ByteArrayInputStream(str.getBytes());

我们还可以指定编码

InputStream   stream= new ByteArrayInputStream(str.getBytes("UTF-8"));  
                    前言下面是一些 InputStream转String,String转InputStream的方法,大家可以拿去即用InputStream转String的方法方法一:public String inputStreamToString(InputStream inputStream)throws Exception{        byte[] bytes = new byte[0];        int count = 0;        while (count == 0) {     
java-convert-example
平时的java项目中会存在各种对象的互相转换的情况,本项目记录一些常见对象转换方法,例如:文件转换、日期时间转换、stream流转换、集合对象转换等
为文件操作设计了很多的类,有数据相关的
Stream
流,与文件相关的File、Path等对文件系统的抽象。
包和几乎包含了所有操作输入、输出需要的类,另外
java1.4
开始推出的
接口能更高效的完成一些工作。
包中的流支持很多种格式,比如:基本类型、对象、本地化字符集等等。所有这些流类代表了输入源和输出目标。
一个流可以理解为一个数据的序列。输入流表示从一个源读取数据,输出流表示向一个目标写数据。
按照流的流向分,可以分为输入流和输出流;
按照操作单元划分,可以划分为字节流和字符流;
按照流的角色划分为节点流和处理流。
按照操作方式分类:
按照操作对象分类:
流基础对象:
InputStream/Reader:
所有的输入流的基类,前者是字节输入流,后者是字符输入流。
Outpu
方法2:使用 Stream API (Java 8):
Warning: This solution converts different line breaks (like \r\n) to \n.
String result = new
				
从其他回答中总结出了11种能将InputStream转换String方法(如下),并且对所有方法进行了性能测试(对比结果如下): 将InputStream转换String方法: 1.使用IOUtils.toString(Apache Utils) String result = IOUtils.toString(inputStream, StandardCharse...
一. 背景 在项目开发过程中,经常会从某种存储介质中读取到InputStream流中,之后我们需要将InputStream转换String字符串的形式,然后使用这个String串进行后面的操作。经过查询,整理了如下两种方式。 二. InputStream转为String的方式 1. 使用 inputStream.read 和 ByteArrayOutputStream 优点:速度快 public static String getStringByInputStream_1(InputStream
我发现了11种主要方法(请参见下文)。我写了一些性能测试(请参见下面的结果): 将InputStream转换字符串方法: 使用IOUtils.toString(Apache Utils) String result = IOUtils.toString(inputStream, StandardCharsets.UTF_8); 使用CharStreams(Guava) String result = CharStreams.toString(new InputStreamReader(
目录一、使用BigDecimal的setScale方法二、使用Sting自带的format方法三、使用NumberFormat设置最大小数位数四、使用DecimalFormat,#.00为保留两位小数 一、使用BigDecimal的setScale方法 double one = 5.864; BigDecimal two = new BigDecimal(one); double three = two.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
Content-Type Content-Type即内容类型,Content-Type用于定义网络文件的类型和网页的编码,决定文件接收方将以什么形式、什么编码读取这个文件,这就是经常看到一些网页点击的结果却是下载到的一个文件或一张图片的原因。 ContentType属性指定响应的 HTTP内容类型。如果未指定 ContentType,默认为TEXT/HTML。 我们在代码也经常需要定义ContentType,用于指定响应的类型 response.setCharacterEncoding("utf-8"
业务:设置一个redis缓存,每天的24点过期,需要设置redis的过期时间,直接使用24小时是不行的,因为我们不能保证每次都是0点0分0秒开始,所以我们需要算出当前时间到明天0点0分0秒的差值 方案一: 使用Calendar(Java 8之前) getInstance()是Calendar提供的一个类方法,它的作用是获得一个Calendar类型的通用对象,getInstance()将返回一个Calendar的对象。 使用Calendar.getInstance()不仅能获取当前的时间,还能指定需要
今天创建一个SpringBoot工程,启动时报了以下错误 Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named ‘org.springframework.context.annotation.ConfigurationClassPostProcessor.importRegistry’ available 从字面来看是因为没有名为’org.springframework.con
public class InputStreamToString { public static String convertToString(InputStream inputStream) { Scanner scanner = new Scanner(inputStream).useDelimiter("\\A"); return scanner.hasNext() ? scanner.next() : ""; 在上面的示例代码中,我们定义了一个 `convertToString` 方法,该方法接受一个 InputStream 类型的参数,并返回一个 String 类型的值。在方法内部,我们使用 Scanner 类将 InputStream 转换String,然后将其返回。 在使用该方法时,只需要将 InputStream 对象作为参数传递给该方法即可,例如: ```java InputStream inputStream = new FileInputStream("path/to/file"); String content = InputStreamToString.convertToString(inputStream); System.out.println(content); 在上面的示例代码中,我们将一个文件的 InputStream 对象传递给 `convertToString` 方法,然后将返回的 String 值打印到控制台。