流迭代器 + 算法灵活控制IO流】的更多相关文章

前言 标准算法配合迭代器使用太美妙了,使我们对容器(数据)的处理更加得心应手.那么,能不能对IO流也使用标准算法呢?有人认为不能,他们说因为IO流不是容器,没有迭代器,故无法使用标准算法.他们错了,错在IO流确实不是容器,但它能绑定一种特殊的迭代器,叫做流迭代器.一些算法能以流迭代器为参数,对IO流进行控制. 一个经典的编程问题 从标准输入读取一些数,再将读取的不重复的数写到标准输出. 使用流迭代器巧妙解决掉上述问题 #include <iostream> #include <vecto…
前言 标准算法配合迭代器使用太美妙了,使我们对容器(数据)的处理更加得心应手.那么,能不能对IO流也使用标准算法呢?有人认为不能,他们说因为IO流不是容器,没有迭代器,故无法使用标准算法.他们错了,错在IO流确实不是容器,但它能绑定一种特殊的迭代器,叫做流迭代器.一些算法能以流迭代器为参数,对IO流进行控制. 一个经典的编程问题 从标准输入读取一些数,再将读取的不重复的数写到标准输出. 使用流迭代器巧妙解决掉上述问题 #include <iostream> #include <vecto…
一.迭代器适配器 反向迭代器 插入迭代器 IO流迭代器 其中反向迭代器可以参考以前的文章. 二.插入迭代器 插入迭代器实际上是一个输出迭代器(*it=; ++) back_insert_iterator back_inserter front_insert_iterator front_inserter 先来看示例:  C++ Code  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 3…
1.File类 File类可以在程序中 操作文件和目录.File类是通过建立File类对象,在调用File类的对象来进行相关操作的. 示例: public class Demo01 { public static void main(String[] args) { File f = new File("f:/我的歌声里.txt"); //访问文件名相关 String name = f.getName(); System.out.println("文件名:" + n…
1 按照用途进行分类 1.1 按照数据的来源(去向)分类 是文件:FileInputStream, FileOutputStream, FileReader, FileWriter 是byte[]:ByteArrayInputStream, ByteArrayOutputStream 是char[]:CharArrayReader, CharArrayWriter 是String:StringBufferInputStream(已过时,因为其只能用于String的每个字符都是8位的字符串), S…
一.IO.流 数据的输入和输出(input/output简写为I/O) 对标准输入设备和标准输出设备的输入输出简称为标准I/O 对在外存磁盘上文件的输入输出简称为文件I/O 对内存中指定的字符串存储空间的输入输出简称为串I/O 数据输入输出的过程,可以形象地看成流 从流中获取数据的操作称为“提取”(输入)操作 向流中添加数据的操作称为“插入”(输出)操作 标准输入输出流 文件流 字符串流 二.流类库继承体系.四个输入输出对象 流库具有两个平行的基类:streambuf 和 ios 类,所有流类均…
提要 01 IO流(BufferedWriter)02 IO流(BufferedReader)03 IO流(通过缓冲区复制文本文件)04 IO流(readLine的原理)05 IO流(MyBufferedReader)06 IO流(装饰设计模式)07 IO流(装饰和继承的区别) 01 IO流(BufferedWriter)字符流的缓冲区缓冲区的出现提高了对数据的读写效率.对应类BufferedWriterBufferedReader缓冲区要结合流才可以使用在流的基础上对流的功能进行了加强 /*…
前面我们学习的了多线程,今天开始要学习IO流了,java中IO流的知识非常重要.但是其实并不难,因为他们都有固定的套路. 一.流的概念     流是个抽象的概念,是对输入输出设备的抽象,Java程序中,对于数据的输入/输出操作都是以"流"的方式进行.设备可以是文件,网络,内存等    流具有方向性,至于是输入流还是输出流则是一个相对的概念,一般以程序为参考,如果数据的流向是程序至设备,我们成为输出流,如果数据的流向是设备至程序称为输入流.    数据以二进制的形式在程序与设备之间流动传…
序列化和反序列化的概念: 序列化:把对象转换为字节序列的过程称为对象的序列化.(常见的就是存文件) 反序列化:把字节序列恢复为对象的过程称为对象阿德反序列化. 序列化和反序列化的使用: java.io.ObjectOutputStream代表对象输出流,它的writeObject(Object obj)方法可对参数指定的obj对象进行序列化,把得到的字节序列写到一个目标输出流中. java.io.ObjectInputStream代表对象输入流,它的readObject()方法从一个源输入流中读…
流迭代器是一种迭代器适配器.istream_iterator用于读取输入流,ostream_iterator用于写输出流.这些迭代器将它们所对应的流视为特定类型的元素序列.使用流迭代器时,可以用泛型算法从流对象中读数据或将数据写入到流对象中. 流迭代器的构造函数如下: 流迭代器的基本操作如下: 1.流迭代器的定义. 流迭代器都是类模板:任何已定义输入操作符(>>操作符)的类型都可以定义istream_iterator,任何已定义输出操作符(<<操作符)的类型都可以定义ostream…