Atiti 重定向标准输出到字符串转接口adapter stream流体系 以及 重定向到字符串

原理::syso  向ByteArrayOutputStream这个流理想write字节。。然后可以使用toByteArray()得到字节,转化为字符串即可使用啦。。

(一)Stream的分类:

1 Node Stream :基本流,可以从名称中看出他是从哪个地方输入输出的。

1.1 用于文件输入输出流: FileInputStream, FileOutputStream

1.2 用于内存数组的输入输出流:ByteArrayInputStream, ByteArrayOutputStream

1.3 用于字符串的输入输出流:StringArrayInputStream, StringArrayOutputStream

1.4 用于管道的输入输出流:PipedInputStream, PipeOutStream (用于线程间的交互)

二、基于字节的I/O操作(InputStream和OutputStream)

我们先来看看类图:

总共就是两个流阿:字节,字符
 
字节流可用于任何类型的对象,
而字符流只能处理字符或者字符串,Unicode字符;
也就是说 字节流可以读写所有的文件,
而字符流只能读写文本文件。不能读像音频电影之类的
但是能用字符流的时候就不要用字节流,因为字符流的读写效率更高一些。

本回答由网友推荐

评论

4 3

dngoryaner 

采纳率:31% 来自:芝麻团 擅长: 生活 电脑/网络 医疗健康 娱乐休闲 社会民生

其他回答

1.因为java要和各种其他的譬如电脑文档等交换信息,就有了输入输出流。
2.从最简单的输入输出流懂起,以后遇到什么解决什么。
3.两大类,字节流和字符流
字节流 :BufferedInputStream,BufferedOutputStream,FileInputStream ,FileOutputStream
字符流:BufferedReader,BufferedWriter,FileReader,FileWriter
4.在读写二进制数据时就会使用字节流。在设计用于处理字符输入输出时用的是Unicode,所以要用字符流,在某些情况下,字符流比字节流更高效。字节流和字符流的功能大部分是并行的。

StringBufferInputStream in=newStringBufferInputStream(content); 但是这个类已经过时了 并且好像不支持中文

public static void main(String[] args) {

PrintStream stdOut=System.out;//保存标准输出流

ByteArrayOutputStream bout=new ByteArrayOutputStream();

PrintStream ps = new PrintStream(bout);

System.setOut(ps);

System.out.println("--wanning..for debug out stacktrace");

byte[] buf=bout.toByteArray();

String s=new String(buf);

//restore std out

System.setOut(stdOut);

System.out.println("aa"+s);

}

StreamUtil sx = new StreamUtil();

sx.RedirectToStrOut();

System.out.println("--wanning..for debug out stacktrace");

String s=sx.getStr();

//restore std out

sx.restoreStdOut();

参考

ByteArrayOutputStream用法 - Mayola - 博客园.html

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 )

汉字名:艾提拉(艾龙),   EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

Atiend

Atiti 重定向标准输出到字符串转接口adapter stream流体系 以及 重定向到字符串相关推荐

  1. 函数式接口和Stream流式思想

    函数式接口和Stream 1. 函数式接口 1.1 函数式接口概述 利用接口操作语法格式,对于方法的声明作出二次封装!!!方法声明:权限修饰符 是否静态 返回值类型 方法名(形式参数列表);对于接口而 ...

  2. java-函数式接口与Stream流

    函数式接口 有且仅有一个抽象方法的接口叫函数式接口. @FunctionInterface注解可以检查该接口是否为函数式接口. Myinterface in=() -> sout("函 ...

  3. 常用函数式接口,Stream流

    01.第一章:常用函数式接口_Predicate判断接口: 1).java.util.Function.Prdedicate(函数式接口): 2).抽象方法:1).boolean test(T t) ...

  4. jdk8新特性(接口新特性、lambda表达式、方法引用、函数式接口、Stream流)和单例设计模式

    1.单例设计模式 1.概念: 设计模式:使用固有的流程或方式设计出来的类接口.枚举等元素 2.设计原则: 1.私有化构造方法[private.protected] 2.类中创建最终对象[唯一不能被赋值 ...

  5. 常用函数式接口及Stream流

    1.常用函数式接口 1.1Supplier接口 ​ 功能 ​ 生产型接口,接口的泛型指定成什么类型,就生产什么类型的数据(提供函数式接口,方便使用Lambda进行简化代码) ​ 抽象方法 ​ T ge ...

  6. java8 四大函数式接口 和 用于数据处理的 stream流 使用详解

    文章目录 Stream 使用示例 四大函数式接口 Function 功能型接口 Consumer 消费型接口 Supplier 提供型接口 Predicate 断言型接口 常用 api stream, ...

  7. 【转载】标准输入输出、错误输出、重定向标准输出

    [转载]标准输入输出.错误输出.重定向标准输出 原文:标准输入输出.错误输出.重定向标准输出 再来看看 >& 操作符: 重定向操作符 描述 > 将命令输出写入到文件或设备(如打印机 ...

  8. python接口自动化(十八)--重定向(Location)(详解)

    简介 在实际工作中,有些接口请求完以后会重定向到别的url,而你却需要重定向前的url.URL主要是针对虚拟空间而言,因为不是自己独立管理的服务器,所以无法正常进行常规的操作.但是自己又不希望通过主域 ...

  9. Java23-day14【函数式接口(Supplier\Consumer\Predicate\Function)、Stream流(生产方式\中间方法\终结方法)】

    视频+资料[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg   提取码:zjxs] Java基础--学习笔记(零起点打开java世界的大门)--博 ...

  10. angular字符串转成html,详解angular如何调用HTML字符串的方法

    详解angular如何调用HTML字符串的方法 前面的文章我们介绍过angular6.0的数据绑定,也就是前面页面如何调用后台的数据,我们接触到了调用普通数据--如:调用产品详情{{post.cont ...

最新文章

  1. python装饰器 property_python @property装饰器
  2. 这个赛道能超车几次?
  3. php curl基本操作
  4. python创建列表副本_Python编程15:Python列表的排序和列表的副本
  5. 我的世界基岩版种子和java版种子_我的世界:对萌新最友好的种子,基岩版通用,对老玩家也很适合!...
  6. 南沙发布全国首个智慧城市物联网大数据管理平台
  7. 浅谈数据结构之顺序队列(五)
  8. 超低静态电流LDO稳压器选择要点
  9. mysql实现火车购票系统_火车票购票系统的设计与实现(MyEclipse,MySQL)
  10. matlab描点连线画图
  11. 面向对象技术(C++)学生成绩管理系统课程设计任务书及说明书
  12. Linux过时了- 塔能鲍姆-托瓦兹辩论(Tanenbaum–Torvalds debate)
  13. 看共享单车上的智能车锁有何区别
  14. 互联网晚报 | 10月31日 星期日 | 网易云音乐旗下首家酒吧落地上海;B站上线童年动画专区;英特尔发布第12代酷睿芯片...
  15. php流程管理软件,MYSQL数据库管理软件PHPAdmin操作流程
  16. mac下hadoop环境的搭建
  17. 电子邮件附件下载器简介
  18. 模型优化与tensorflow
  19. android 存储盘 dcim,什么是DCIM?手机照片的存储路径
  20. LeetCode刷题笔记 双指针 基础应用

热门文章

  1. ip地址怎么设置才有效_房产遗嘱怎么写才有效?需要公证吗?
  2. 如何设置app字体跟随系统_Android中App字体大小不随系统改变而改变
  3. 进程间通信的11种方法
  4. 记一下这些资源,总有用的到的时候
  5. heartbeat+lvs+Keepalive
  6. java模板和回调机制学习总结
  7. ThreadPoolExecutor使用和思考-线程池大小设置与BlockingQueue的三种
  8. Emacs使用Tramp远程编辑服务器上的文件
  9. 怎么在页面关闭时执行代码
  10. [Django学习]上传图片