iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >Java中InputSteam如何转String
  • 257
分享到

Java中InputSteam如何转String

2023-06-15 08:06:00 257人浏览 薄情痞子
摘要

小编给大家分享一下Java中InputSteam如何转String,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!InputSteam与String相互转化字符串被

小编给大家分享一下Java中InputSteam如何转String,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

InputSteam与String相互转化

字符串被广泛应用于 Java 编程中,是程序经常处理的对象。以对象的方式处理字符串,使字符串更加方便灵活。Java 提供了 String 类创建和操作字符串,当我们从文件中读取数据时,常常需要将 InputStream 转换为 String,以便于下一步的处理。

1.使用 InputStreamReader 和 StringBuilder (JDK)

public class InputStream2String {    public static void main(String[] args) {        try {            InputStream inputStream = new FileInputStream("E:/duckAndJava/io/testFile.txt");    //路径修改为本地文件所在的位置            char[] buffer = new char[1024];    //根据需要的数组大小进行自定义            StringBuilder out = new StringBuilder();            Reader in = new InputStreamReader(inputStream, "UTF-8");            for (int numRead; (numRead = in.read(buffer, 0, buffer.length)) > 0; ) {                out.append(buffer, 0, numRead);            }            String myString =  out.toString();            System.out.println("myString = " + myString);        }catch (IOException e){            e.printStackTrace();        }    }

2.使用 inputStream.read() and StringBuilder

StringBuilder sb = new StringBuilder();for (int ch; (ch = inputStream.read()) != -1; ) {    sb.append((char) ch);}String myString = sb.toString();

3.使用 ByteArrayOutputStream and inputStream.read

ByteArrayOutputStream result = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; for (int length; (length = inputStream.read(buffer)) != -1; ) {     result.write(buffer, 0, length); } String myString = result.toString("UTF-8");

4.使用 BufferedInputStream 和 ByteArrayOutputStream

BufferedInputStream bis = new BufferedInputStream(inputStream);ByteArrayOutputStream buf = new ByteArrayOutputStream();for (int result = bis.read(); result != -1; result = bis.read()) {    buf.write((byte) result);}String myString = buf.toString("UTF-8");

5.使用 BufferedReader

String newLine = System.getProperty("line.separator"); BufferedReader reader = new BufferedReader(         new InputStreamReader(inputStream)); StringBuilder result = new StringBuilder(); for (String line; (line = reader.readLine()) != null; ) {     if (result.length() > 0) {         result.append(newLine);     }     result.append(line); } String myString = result.toString();

6.使用 Stream API 或 parallel Stream API

String myString = new BufferedReader(new InputStreamReader(inputStream))   .lines().collect(Collectors.joining("\n"));

String myString = new BufferedReader(new InputStreamReader(inputStream))    .lines().parallel().collect(Collectors.joining("\n"));

7.使用 StringWriter 和IOUtils.copy (Apache Commons)

StringWriter writer = new StringWriter(); IOUtils.copy(inputStream, writer, "UTF-8"); return writer.toString();

8.使用CharStreams (Google Guava)

String result = CharStreams.toString(new InputStreamReader(       inputStream, Charsets.UTF_8));

分别按照字符串长度来进行测试

当我们使用的是一个小字符串(length=175),得到的性能测试结果如下:

Java中InputSteam如何转String

当我们使用的是一个长字符串(length=50100),得到的性能测试结果如下:

Java中InputSteam如何转String

为了更加直观,我按照字符串的长度与相应函数消耗的平均时间,做了如下的表格:

Java中InputSteam如何转String

更加直观的表格图,如下:

Java中InputSteam如何转String

好了,关于 InputStream 到String 转换的介绍就是这些,方法虽多,但是只要认真看懂了其中一个,再看其他的,就只是调用的类和方法不同罢了,思路都是一样的。

在实际运用中,还需要根据具体的环境,进行编码方式和换行符处理等的调整,选用最适合自己项目工程的处理方式。

以上是“Java中InputSteam如何转String”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Java中InputSteam如何转String

本文链接: https://www.lsjlt.com/news/279047.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java中InputSteam如何转String
    小编给大家分享一下Java中InputSteam如何转String,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!InputSteam与String相互转化字符串被...
    99+
    2023-06-15
  • Java中InputSteam怎么转String
    InputSteam与String相互转化 字符串被广泛应用于 Java 编程中,是程序经常处理的对象。以对象的方式处理字符串,使字符串更加方便灵活。Java 提供了 String ...
    99+
    2024-04-02
  • java中如何将string转为date
    小编给大家分享一下java中如何将string转为date,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!常用的java框架有哪些1.SpringMVC,Sprin...
    99+
    2023-06-14
  • java中如何将bigdecimal转string类型
    可以使用BigDecimal类的toString()方法将BigDecimal类型转换为String类型。示例如下: BigDeci...
    99+
    2024-04-02
  • 如何在 Java 中将 String 转换为 int?
    问: 如何将 String 转换为 int? "1234" → 1234 答1: huntsbot.com – 高效赚钱,自由工作 String myString = "1234";int ...
    99+
    2023-10-24
    java 开发语言 jvm rxjava boosting
  • java中byte[]类型如何转换为String类型
    在 Java 中将 byte[] 类型转换为 String 类型,可以使用 String 的构造函数或者静态方法。 使用 String 构造函数 byte[] byteArray = {97, 98, 99}; String str = n...
    99+
    2023-09-08
    java servlet 开发语言
  • java中int转string与string转int的效率对比
    目录int转string与string转int的效率对比string转int,两种方法int转string一般用三种方法string转int问题分析分析一波1、针对传入的字符串为空对...
    99+
    2024-04-02
  • 在Java项目中如何将对象转换为String
    在Java项目中如何将对象转换为String?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java中对象转换为String的常用方法:  方法一:String&...
    99+
    2023-05-31
    java string ava
  • mybatis中string和date如何转换
    这篇文章给大家分享的是有关mybatis中string和date如何转换的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。实体里用的java.util.date,数据库用的是datetime,页面是字符串<in...
    99+
    2023-06-20
  • golang int如何转string
    这篇“golang int如何转string”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“golang int如何转stri...
    99+
    2023-07-05
  • golang  byte如何转string
    本篇内容主要讲解“golang  byte如何转string”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“golang  byte如何转string”吧!一、Golang中的...
    99+
    2023-07-05
  • golang string如何转byte
    这篇文章主要讲解了“golang string如何转byte”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“golang string如何转byte”吧!使用[]byte()Golang中的字...
    99+
    2023-07-05
  • Java中toString()、String.valueOf、(String)强转区别
    目录一、前言二、代码实例 1、基本类型2、封装类型3、null值问题三、源码分析1、toString()2、String.valueOf()四、总结一、前言 相信大家在日常...
    99+
    2024-04-02
  • Java中double转string怎么实现
    可以使用String类的valueOf()方法将double类型的数据转换为字符串。例如: double num = 3.14; S...
    99+
    2024-04-02
  • vue中string如何转为json对象
    这篇文章主要介绍了vue中string如何转为json对象的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue中string如何转为json对象文章都会有所收获,下面我们一起来看看吧。vue中string转为j...
    99+
    2023-06-29
  • java中int转string与string转int的效率有什么不同
    这篇文章将为大家详细讲解有关java中int转string与string转int的效率有什么不同,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。int转string与string转int的效率对比strin...
    99+
    2023-06-29
  • 如何使用Object转String
    今天就跟大家聊聊有关如何使用Object转String,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。开发中,小伙伴一定经常遇到将一个Object类型...
    99+
    2024-04-02
  • Java中String和Char的相互转换
    一、String类型转化为char类型二、char类型转化为String类型 一、String类型转化为char类型 用String.charAt()来让String类型转化为cha...
    99+
    2023-09-01
    java
  • 如何解决Java中HashMap与String字符串互转的问题
    小编给大家分享一下如何解决Java中HashMap与String字符串互转的问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!背景:当我们有需求将HashMap转为Json格式的String时,切记不要使用HashMap的...
    99+
    2023-06-29
  • Android中String与int如何相互转换
    小编给大家分享一下Android中String与int如何相互转换,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、如何将字串 String 转换成整数 int方法一:int i = Inte...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作