Atiti 重定向标准输出到字符串转接口adapter stream流体系 以及 重定向到字符串
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流体系 以及 重定向到字符串相关推荐
- 函数式接口和Stream流式思想
函数式接口和Stream 1. 函数式接口 1.1 函数式接口概述 利用接口操作语法格式,对于方法的声明作出二次封装!!!方法声明:权限修饰符 是否静态 返回值类型 方法名(形式参数列表);对于接口而 ...
- java-函数式接口与Stream流
函数式接口 有且仅有一个抽象方法的接口叫函数式接口. @FunctionInterface注解可以检查该接口是否为函数式接口. Myinterface in=() -> sout("函 ...
- 常用函数式接口,Stream流
01.第一章:常用函数式接口_Predicate判断接口: 1).java.util.Function.Prdedicate(函数式接口): 2).抽象方法:1).boolean test(T t) ...
- jdk8新特性(接口新特性、lambda表达式、方法引用、函数式接口、Stream流)和单例设计模式
1.单例设计模式 1.概念: 设计模式:使用固有的流程或方式设计出来的类接口.枚举等元素 2.设计原则: 1.私有化构造方法[private.protected] 2.类中创建最终对象[唯一不能被赋值 ...
- 常用函数式接口及Stream流
1.常用函数式接口 1.1Supplier接口 功能 生产型接口,接口的泛型指定成什么类型,就生产什么类型的数据(提供函数式接口,方便使用Lambda进行简化代码) 抽象方法 T ge ...
- java8 四大函数式接口 和 用于数据处理的 stream流 使用详解
文章目录 Stream 使用示例 四大函数式接口 Function 功能型接口 Consumer 消费型接口 Supplier 提供型接口 Predicate 断言型接口 常用 api stream, ...
- 【转载】标准输入输出、错误输出、重定向标准输出
[转载]标准输入输出.错误输出.重定向标准输出 原文:标准输入输出.错误输出.重定向标准输出 再来看看 >& 操作符: 重定向操作符 描述 > 将命令输出写入到文件或设备(如打印机 ...
- python接口自动化(十八)--重定向(Location)(详解)
简介 在实际工作中,有些接口请求完以后会重定向到别的url,而你却需要重定向前的url.URL主要是针对虚拟空间而言,因为不是自己独立管理的服务器,所以无法正常进行常规的操作.但是自己又不希望通过主域 ...
- Java23-day14【函数式接口(Supplier\Consumer\Predicate\Function)、Stream流(生产方式\中间方法\终结方法)】
视频+资料[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg 提取码:zjxs] Java基础--学习笔记(零起点打开java世界的大门)--博 ...
- angular字符串转成html,详解angular如何调用HTML字符串的方法
详解angular如何调用HTML字符串的方法 前面的文章我们介绍过angular6.0的数据绑定,也就是前面页面如何调用后台的数据,我们接触到了调用普通数据--如:调用产品详情{{post.cont ...
最新文章
- python装饰器 property_python @property装饰器
- 这个赛道能超车几次?
- php curl基本操作
- python创建列表副本_Python编程15:Python列表的排序和列表的副本
- 我的世界基岩版种子和java版种子_我的世界:对萌新最友好的种子,基岩版通用,对老玩家也很适合!...
- 南沙发布全国首个智慧城市物联网大数据管理平台
- 浅谈数据结构之顺序队列(五)
- 超低静态电流LDO稳压器选择要点
- mysql实现火车购票系统_火车票购票系统的设计与实现(MyEclipse,MySQL)
- matlab描点连线画图
- 面向对象技术(C++)学生成绩管理系统课程设计任务书及说明书
- Linux过时了- 塔能鲍姆-托瓦兹辩论(Tanenbaum–Torvalds debate)
- 看共享单车上的智能车锁有何区别
- 互联网晚报 | 10月31日 星期日 | 网易云音乐旗下首家酒吧落地上海;B站上线童年动画专区;英特尔发布第12代酷睿芯片...
- php流程管理软件,MYSQL数据库管理软件PHPAdmin操作流程
- mac下hadoop环境的搭建
- 电子邮件附件下载器简介
- 模型优化与tensorflow
- android 存储盘 dcim,什么是DCIM?手机照片的存储路径
- LeetCode刷题笔记 双指针 基础应用