总结 看了上面这么多编码,真的是需要感谢始皇帝统一了中国,不然我们国内还有一堆编码,各种方言编码,那简直就是灾难啊。但是,这跟IO流有什么关系?...针对这两种文件,java有两种IO流对应他们,那就是字节流和字符流。...说了这么多,IO流到底是什么还是不懂,别急,这就说。 首先看IO,IO对应Input/Output首字母,表示输入和输出。流又是什么呢?...计算机内的文件传输,这就是IO流。除了计算机内部的传输,计算机还可以从远程服务器上通过网络读取文件,写入硬盘,这种方式也是通过IO流实现。...下面来介绍一下java中的IO流体系。 ? 体系 IO流主要分为两大类,一种是字符流,用来对文件进行编码,输出人类可以看懂的文字。另一种是字节流,用来传输各种软件可以识别的文件。
、IO流原理 2.2、流的分类 2.3、IO 流体系 04、节点流(或文件流) 4.1、FileReader读入数据的基本操作 4.2、FileReader中使用read(char[] cbuf)读入数据...的使用 6.2、转换流实现文件的读入和写出 6.3、多种字符编码集的说明 07、标准输入、输出流 08、打印流 09、数据流 10、对象流 10.1、对象序列化机制的理解 10.2、对象流序列化与反序列化字符串操作...实现编码和解码的功能。...* GB2312:中国的中文编码表。最多两个字节编码所有字符 * GBK:中国的中文编码表升级,融合了更多的中文文字符号。...**这是为传输而设计的编码,并使编码无国界,这样就可以显示全世界上所有文化的字符了。
什么是IO流 先看一段百度上的解释: 当然:如果你看不懂,那么你只需要记住下面3句话. 1....(3).那么这当中的水流,便可以理解为IO流。 2. 那么JAVA中的IO流呢; (1).在java中,java就是自来水厂,水源地就是源,家就是目的 (2)....那么BufferedOutputStream就是输出流的缓冲区了; 4.转换流 (1).同样的 ,java中的转换流,相当于过滤器,是一种对数据进行编码,改变格式的存储;如下: 可以将字符以指定编码格式存储...可以对文本数据指定编码格式来解读 指定编码表的动作由构造函数完成 (2).分为InputStreamReader OutputStreamWriter InputStreamReader...创建转换流对象 输 出流对象, 输出的编码 OutputStreamWriter osw = new OutputStreamWriter(os,“ISO-8859-1”); 以上就是IO流的简单介绍
目录 IO流使用cout进行输出cout格式化调整字节宽度以及填充字符setf()相关字符串流文件流 IO流 C++兼容C,所以C中的输入输出函数依然可以在C++中使用,但是直接把C的那套输入输出搬到...ss2 << num << ch << str; cout << ss2.str() << endl; return 0; } 输出: 100 192 168 0 1 . 3.14159 文件流...头文件: #include 文件流常用函 描述 open 打开文件 is_open 文件是否被打开 close 关闭文件 getline 读取一行 read 输入(读)到对象 write...将缓冲区的数据写出到文件,再清空它 tellg 输入(读)文件指针位置 tellp 输出(写)文件指针位置 seekg 设置输入(读)文件指针位置 seekp 设置输出(写)文件指针位置 eof 是否到了流尾部
流 不同设备之间的数据传输就是流,可以抽象理解供水厂到家庭之间的水管,水(数据)在管道传输,就成了流 根据流向分为输出流和输入流 数据从文件流向程序称为输入流 数据从程序流向文件称为输出流 根据数据类型分为字节流和字符流...字节流处理字节数据 字符流处理字符数据 按处理数据分为节点流和处理流 节点流 文件流 数组流 管道流 处理流 缓冲流 转换流 基本数据流 对象序列化流 打印控制流 IO流属于阻塞操作,一般项目中应放到子线程中...,避免阻塞主线程 其中几个常见流之间的继承关系如下 ?...,二进制不需要编码解码,比文本效率高,可移植,缺点是人们看不懂二进制内容,当读入数据到内存时,用一个字节或字节数组来存储,写出时同理,并且无论使用什么流,底层传输的都是二进制,所以字节流是一切流的基础...和上面的主要区别是上面读取字节流,能指定编码,而这里读取的是字符流,只能使用系统默认编码 构造函数,并且方法和父类一致,这里不介绍了 FileReader(File file) FileWriter(File
之前我们使用io流,都是需要一个中间数组,管道流可以直接输入流对接输出流,一般和多线程配合使用,当读取流中没数据时会阻塞当前的线程,对其他线程没有影响 定义一个类Read实现Runable接口,实现run...()方法,构造方法传递PipedInputStream对象 读取流里面的数据 定义一个类Write实现Runable接口,实现run()方法,构造方法传递PipedOutputStream对象 写入流里面数据...获取PipedInputStream对象,new出来 获取PipedOutputStream对象,new出来 调用PipedInputStream对象的connect()方法,对接输出流,参数:PipedOutputStream...对象 开启两个线程执行读写 import java.io.IOException; import java.io.PipedInputStream; import java.io.PipedOutputStream
IO流 文件操作 File类 作用 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作 构造方法 public File(String pathname...,为输出流,把电脑磁盘当中的数据加载到程序当中为输入流 示例图 IO的分类 根据数据的流向分: 输入流 把数据从 其他设备 上读取到 内存 中的流。...Reader类 作用 java.io.Reader 抽象类是表示用于读取字符流的所有类的超类,可以读取字符信息到内存中。...FileReader类 作用 java.io.FileReader 类是读取字符文件的便利类。构造时使用系统默认的字符编码和默认字节缓冲区。...字符缓冲流: BufferedReader , BufferedWriter 基本原理 缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组, 通过缓冲区读写,减少系统IO 次数
http://blog.csdn.net/a107494639/article/details/7586365 1.IO流是干什么的? ...IO流指 的是输入输出流,用来处理设备上的数据。这里的设备指硬盘,内存,键盘录入,网络传输等。 2.IO流的分类? ...按处理数据类型来分:字节流和字符流 按流的方向来分:输入流和输入流。 PS:初学流的时候,新手很容易搞不清什么时候用输入流,什么时候用输出流。...字节流一次读取一个字节,而字符流使用了字节流读到一个或者多个字节时,去查找指定的编码表,返回对应的编码。所以字符流只能处理纯文本字符数据,而字节流可以处理更多类型的数据,比如图片,视频,音频文件等。...因此,只要是纯文本数据处理,优先考虑使用字符流。其他情况就使用字节流。 4.IO流类的关系(列举了其中一部分) ?
IO流的分类可以分为以下三种: 第一种:输入流和输出流 按照流的流向来分,可以分为输入流和输出流。输入,输出都是从程序运行所在内存的角度来划分的。...输出流:只能向其写入数据,而不能从中读取数据。...由OutputStream和Writer作为基类 第二种:字节流和字符流 字节流和字符流的用法几乎完全一样,区别在于字节流和字符流所操作的数据单元不同。...字符流操作的数据单元是16为的字符,由Reader和Writer作为基类 第三种:节点流和处理流 按照流的角色来分,可以分为节点流和处理流。...节点流:可以从向一个特定的IO设备(如磁盘、网络)读/写数据的流。也被称为低级流。 处理流:用于对一个已存在的流进行连接或封装,通过封装后的流来实现数据读/写功能。
IO流大家肯定不陌生,简单整理了一下常用IO流基本用法,其他的IO流还有很多以后有时间在整理。...1.基本概念 IO:Java对数据的操作是通过流的方式,IO流用来处理设备之间的数据传输,上传文件和下载文件,Java用于操作流的对象都在IO包中。...2.IO流的分类 图示:(主要IO流) 3.字节流 (1).字节流基类 1).InputStream InputStream:字节输入流基类,抽象类是表示字节输入流的所有类的超类。...,提高了操作效率,IO流使用完毕一定要关闭。...Android } reader.close(); 注:Eclipse默认使用GBK编码,test.txt文件所以是GBK编码,当指定utf-8编码时所以会乱码。
IO流 第一部分 (OutputStreamWriter BufferOutputStream) 转换流 超类为Reader和Writer 是字符流通向字节流的桥梁:可使用指定的字符编码表,将要写入流中的字符编码成字节...它的作用的就是,将字符串按照指定的编码表转成字节,在使用字节流将这些字节写出去。...先将字符交给转换流,然后转换流去查询指定的编码表,然后将查询后的对应编码表中的内容返回给对应的字节流,然后字节流进行对应的操作 OutputStreamWriter ?...子类可以直接操作文件,但是不能指定编码格式,默认使用系统默认的格式 FileReader fr = new FileReader("a.txt"); 缓冲流 提高输入输出的效率 分为字节缓冲流与字符缓冲流...创建字节输出流缓冲流的对象,构造方法中,传递字节输出流 BufferedOutputStream bos = new
IO流 第一部分 (outputStream/InputStream Writer/Redaer) IO流对象中输入和输出是相辅相成的,输出什么,就可以输入什么....IO的命名方式为前半部分能干什么,后半部分是父类的名字....(FileOutputStream 文件输出流) java->JVM->OS 流对象使用的基本步骤 创建流的子类对象,绑定数据目的地(文件路径) 使用write方法写或read方法读 close()方法关闭流对象...off,int len) 将b数组中从off开始的len个字节写入输出流 close() 关闭流对象,并且释放流对象的资源 , (流对象操作的是操作系统中的资源,释放这里资源) FileOutputStram...文件输出流,是用于将数据写入 File的输出流。
我们平时在用流的时候是不是有的时候很纠结,不知道要用哪一个,流对象那么多。 整理一下,来看看流操作的基本规律。...输入流 >>>>> InputStream Reader 目的:输入流 >>>>> OutputStream Writer 2,操作的数据是否是纯文本: 是:字符流...补充一个知识点 一般我们在存数据的时候可能会乱码,原因就是编码的问题。所以可以通过转换流来解决这个问题。 InputStreamReader OutputStreamWriter ?
此外,Java也对块传输提供支持,在核心库 java.nio中采用的便是块IO。 流IO的好处是简单易用,缺点是效率较低。块IO效率很高,但编程比较复杂。...因此Java中的流分为两种: 1) 字节流:数据流中最小的数据单元是字节 2) 字符流:数据流中最小的数据单元是字符, Java中的字符是Unicode编码,一个字符占用两个字节。 3....Java.IO流类库 1. io流的四个基本类 java.io包中包含了流式I/O所需要的所有类。...在java.io包中, java.io.InputStream 表示字节输入流, java.io.OutputStream表示字节输出流,处于java.io包最顶层。...Reader类能够将输入流中采用其他编码类型的字符转换为Unicode字符,然后在内存中为其分配内存 Writer类能够将内存中的Unicode字符转换为其他编码类型的字符,再写到输出流中。
InputStream和OutputStream两个抽象类构成了读写IO体系的框架基础。...字节流虽然可以操作任何的数据形式,但是对于占用多个字节的字符却不是很方便,需要知道,所以在JAVA中有专门提供了对于字符流的两个抽象类Reader和Writer 分类: IO流按照操作对象:字节流和字符流...按照流的方向分:输入流和输出流 ?...主要的流的体系图:每个输入流都有相应的输出流 在抽象类 Input/OutputStream ReaderWriter 后面跟着具体的实现子类 ?...字符流 字符流主要对于处理文本内容的读写十分的方便,按照字符的输入和输出和字节流操作上没有区别,但是在读取和写入时的操作单位不再是byte。 ?
在学习反序列化之前,首先要对输入输出流有一定的了解 JAVA IO 什么是IO,即Input和Output输入与输出,通过IO可以完成硬盘文件的读和写。...流的传输过程: 首先不管是输入还是输出,传输的两端都是文件和java的运行程序,所以如果想要在这二者之间进行传输,我们就需要将他们两个之间搭起来一个可以传输的通道,这样就可以实现流的传输。..."Delete Successfully":"Delete failed"); } } IO流分类 按照操作数据单位不同分为:字节流和字符流 字节流(8bit,适用于二进制文件) 字符流(按字符...,因编码不同而异,适用于文本文件) 按照数据流流向不同分为:输入流和输出流 按照流的角色不同分为:节点流,处理流/包装流 抽象基类 字节流 字符流 输入流 InputStream Reader 输出流...OutputStream Writer 文件流函数 FileInputStream 读取文件分为两步 1.将文件中的数据转换为流对象 2.读取流对象的数据 细分的话,可分为如下三步 1、创建流对象 2
什么是 Java IO 流? Java IO(Input/Output)流是用于处理输入和输出的机制。它提供了一种统一的方式来读取和写入不同类型的数据,包括文件、网络连接、内存等。...Java IO 流的工作原理 Java IO 流的工作原理是通过字节或字符的传输来实现数据的读取和写入。...Java IO 流的优点 灵活性:Java IO 流可以处理各种类型的数据,包括文件、网络连接、内存等。...Java IO 流的缺点 复杂性:Java IO 流的类和接口较多,使用时需要理解它们之间的关系和用法。...在使用 Java IO 流时,需要注意关闭流和异常处理等问题。
十二、IO流 在C++中,IO流(Input/Output Streams)是一个强大的特性,它允许程序以灵活和高效的方式处理数据的输入输出。...虽然C语言没有内置的IO流机制,但C++通过继承C语言的I/O库(如stdio.h中的函数)并扩展其功能,引入了IO流库。C++的IO流库提供了面向对象的接口,使得处理输入输出变得更加灵活和强大。...C++ IO流与C语言I/O的区别 类型安全:C++的IO流是类型安全的,它们可以自动处理数据类型之间的转换,并能够在编译时检查潜在的错误。...灵活性:C++的IO流库非常灵活,它支持链式操作、插入器和提取器(inserters and extractors),以及自定义类型的流插入和提取。...总的来说,C++的IO流提供了一种比C语言I/O函数更强大、更灵活且更易于使用的数据输入输出方式。
Java IO操作主要是指使用 java.io包下的内容,进行输入、输出操作。输入也叫读取数据,输出也叫写出数据。 ? IO 的分类:根据数据的流向分为:输入流和输出流。...Writer】:java.io.Writer 抽象类是所有输出字符流的最顶层父类。...【2】字符缓冲流:BufferedReader,BufferedWriter 缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲数组,通过缓冲区读写,减少系统 IO次数,从而提高效率...如果到达流末尾,则返回 null。 八、转换流 ---- 字符编码 Character Encoding:就是一套自然语言的字符与二进制数之间的对应规则; 字符集 Charset:也叫编码表。.../** * java.io.OutputStreamWriter 继承了 Writer * OutputStreamWriter 是字符流通向字节流的桥梁,可使用指定的 charset 将要写入流中的字符编码成字节
随机访问文件,可以看作一个大型的byte[]数组,不算是IO体系中的一员,内部封装了字节输入输出流,可以设置权限,可以调整指针的位置 获取RandomAccessFile对象,构造参数:String文件名称...调整指针位置,参数:int的索引位置 调用RandomAccessFile对象的skipBytes()方法,可以跳过指定索引,参数:int索引位置 多线程下载的原理就是使用这个类 import java.io.RandomAccessFile
领取专属 10元无门槛券
手把手带您无忧上云