stringstream构造函数会特别消耗内存,似乎不打算主动释放内存(或许是为了提高效率),如果你要在程序中使用同一个流反复读写大量数据,将会造成大量的内部消耗,因此建议:    1:调用clear()清除当前错误控制状态,其原型为 void clear (iostate state=goodbit);     2:调用str("")将缓冲区清零,清除脏数据 在多次转换中重复使用同一个stringstream(而不是每次都创建一个新的对象)对象最大的好处在于效率.stringstre…
Atiti 重定向标准输出到字符串转接口adapter stream流体系 以及 重定向到字符串 原理::syso  向ByteArrayOutputStream这个流理想write字节..然后可以使用toByteArray()得到字节,转化为字符串即可使用啦.. (一)Stream的分类: 1 Node Stream :基本流,可以从名称中看出他是从哪个地方输入输出的. 1.1 用于文件输入输出流: FileInputStream, FileOutputStream 1.2 用于内存数组的输入…
一.字节数组流: 类 ByteArrayInputStream:在构造函数的时候,需要接受数据源,而且数据源是一个字节数组. 包含一个内部缓冲区,该缓冲区包含从流中读取的字节.内部计数器跟踪 read 方法要提供的下一个字节 关闭ByteArrayInputStream流无效.此类中的方法在关闭此流后仍可被调用,而不会产生任何 IOException   类 ByteArrayOutputStream:在构造函数的时候,不用定义数据目的,因为该对象中内部已经封装了可变长度的字节数组,这就是数据的…
编写一个函数isMerge,判断一个字符串str是否可以由其他两个字符串part1和part2“组合”而成.“组合 ”的规则如下: 1). str中的每个字母要么来自于part1,要么来自于part2; 2). part1和part2中字母的顺序与str中字母的顺序相同. 例如: "codewars"由"cdw"和"oears"组合而成: s: c o d e w a r s = codewars part1: c d w = cdw part2…
1 按照用途进行分类 1.1 按照数据的来源(去向)分类 是文件:FileInputStream, FileOutputStream, FileReader, FileWriter 是byte[]:ByteArrayInputStream, ByteArrayOutputStream 是char[]:CharArrayReader, CharArrayWriter 是String:StringBufferInputStream(已过时,因为其只能用于String的每个字符都是8位的字符串), S…
ObjectInputStream 对以前使用 ObjectOutputStream 写入的基本数据和对象进行反序列化. ObjectOutputStream 和 ObjectInputStream 分别与 FileOutputStream 和 FileInputStream 一起使用时,可以为应用程序提供对对象图形的持久存储.ObjectInputStream 用于恢复那些以前序列化的对象.其他用途包括使用套接字流在主机之间传递对象,或者用于编组和解组远程通信系统中的实参和形参. Object…
类的继承关系 Reader |__ BufferedReader.StringReader.InputStreamReader |__ FileReader Writer |__ BufferedWriter.StringWriter.OutputStreamWriter |__ FileWriter InputStreamReader 简介 InputStreamReader  是字符流 Reader 的子类,是字节流通向字符流的桥梁.你可以在构造器重指定编码的方式,如果不指定的话将采用底层操…
在上一篇文章中Java IO流学习总结三:缓冲流-BufferedInputStream.BufferedOutputStream介绍了缓冲流中的字节流,而这一篇着重介绍缓冲流中字符流BufferedReader.BufferedWriter. 类的继承关系 Reader |__ BufferedReader.StringReader.InputStreamReader |__ FileReader Writer |__ BufferedWriter.StringWriter.OutputStr…
一.流的操作规律 四个明确: 明确一:明确要操作的数据是数据源还是数据目的地 源:InputStream   Reader 目的地:OutputStream Writer 先根据需求明确是要读还是写 明确二:明确要操作的数据是字节还是文件(字符) 源: 字节:InputStream 文件:Reader 目的地: 字节:OutputStream 文件:Writer 已经明确到了具体的体系上 明确三:明确数据所在的具体设备 源设备: 硬盘:文件  File开头. 内存:数组,字符串. 键盘:Syst…
Java流概念: Java把所有的有序数据都抽象成流模型,简化了输入输出,理解了流模型就理解了Java IO.可以把流想象成水流,里面的水滴有序的朝某一方向流动.水滴就是数据,且代表着最小的数据流动单位,在字节流中,水滴就是一字节(byte),在字符流中,水滴就是一字符(char). Java流的分类方法大致分为以下几种: 1.按流向划分,分为输入流.输出流 请注意,这里的流向是以程序的运行时内存为参照的. 输入流类名中包含关键字InputStream或Reader,输出流类名中包含关键字Out…