流之概述

网络程序所做的很大一部分工作都是简单的输入和输出:将数据字节从一个系统移动到另一个系统。但是,java中输入和输出(I/O)的组织与其他大多数语言(如:Fortram、C和C++)都不一样。这里我们来总结一下Java独特的 I/O 方法。

Java的I/O建立于流(stream)之上。输入流读取数据;输出流写入数据。不同的流类,如:java.io.FileInputStream和sun.net.TelnetOutputStream会读/写某个特定的数据源。但是,所有输出流都有相同的基本方法来写入数据,所有输入流也使用相同的基本方法来读取数据

过滤器(filter)流可以串链到输入流或输出流上。读/写数据时,过滤器可以修改数据(例如,通过加密或压缩),或者只是提供额外的方法,将读/写的数据转换为其他格式。

阅读器(reader)和书写器(writer)可以串链到输入流和输出流上,允许程序读/写文本(即字符)而不是字节。只要正确地使用,阅读器和书写器可以处理很多字符编码,包括多字节字符集,如SJIS和UTF-8。

流是同步的。也就是说,当程序(确切地讲是线程)请求一个流读/写一段数据时,在做任何其他操作前,它要等待所读/写的数据。Java还支持使用通道缓冲区非阻塞I/O。非阻塞I/O稍有些复杂,但在某些高吞吐量的应用程序中(如web服务器),非阻塞I/O要快得多。

时间: 2024-10-10 10:29:30

流之概述的相关文章

Java知多少(66)输入输出(IO)和流的概述

输入输出(I/O)是指程序与外部设备或其他计算机进行交互的操作.几乎所有的程序都具有输入与输出操作,如从键盘上读取数据,从本地或网络上的文件读取数据或写入数据等.通过输入和输出操作可以从外界接收信息,或者是把信息传递给外界.Java把这些输入与输出操作用流来实现,通过统一的接口来表示,从而使程序设计更为简单. Java流的概念 流(Stream)是指在计算机的输入输出操作中各部件之间的数据流动.按照数据的传输方向,流可分为输入流与输出流.Java语言里的流序列中的数据既可以是未经加工的原始二进制

【IO流的概述与分类】

IO 流概述: IO 流用来处理设备之间的数据传输 上传文件和下载文件 Java 对数据的操作是通过流的方式 Java 用于操作流的对象都在IO 包中 IO 流的分类: 按照数据流向 输入流:读入数据 输出流:写出数据 按照数据类型(默认)字节流字符流什么情况下使用哪种流呢?如果数据所在的文件通过windows 自带的记事本打开并能读懂里面的内容,就用字符流. 其他用字节流.如果你什么都不知道,就用字节流 原文地址:https://www.cnblogs.com/zuixinxian/p/987

IO-转换流的概述

将读到的字节转到相应的字符 一个16进制位 代表的是4个2进制位,2个16进制的数就是一个字节 1个字节8个2进制位 1个字节2个16进制    16进制=4个2进制 Int 类型的数字是4个字节 utf-8,会在每个字节上标识,对几个字节标识一下 utf-8,对文字的存储进行了空间优化 utf-8,解析中问,一个中文是3个字节 转换流 InputStreamReader,  OutputStreamWriter 转换流的由来 字符流与字节流之间的桥梁 方便了字符流与字节流之间的操作 转换流的应

Java基础知识强化之IO流笔记16:IO流的概述和分类

1. IO流的分类   流向:     (1)输入流:读取数据到内存     (2)输出流:写入数据到硬盘(磁盘)   操作的数据类型:    (1)字节流:操作的数据是字节                            输入流                            输出流        (2)字符流:操作的数据是字符,为了方便操作文本数据,Java就提供了字符流.                            输入流                      

毕向东_Java基础视频教程第20天_IO流(1~4)

第20天-01-IO流(File概述) File类: 用来将文件或者文件夹封装成对象, 方便进行操作. File对象可以作为参数, 传递给流对象的构造函数. 流对象不能操作文件夹; 流对象不能操作文件的属性信息(rwx等), 只能操作文件的数据. 构造方法: File(File parent, String child) Creates a new File instance from a parent abstract pathname and a child pathname string.

java--IO流(2)--黑马程序员

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- IO流(2) 主要内容:<FileInputStream类.带缓冲的字节流.String类中的编码和解码.转换流.字符流类.带缓冲的字符流.数据输入输出流.byte数组缓冲流.打印流.随机访问流.序列化流和反序列化流.Properties  > 1.FileInputStream类 字节流:  输出流:OutputStream  |--FileOutputStream:  输入流:Input

JavaSE_ IO流 总目录(19~22)

黑马程序员_JavaSE学习总结第19天_IO流119.01 集合的特点和数据结构总结19.02 如何选择使用哪种集合19.03 集合常见功能和遍历方式总结19.04 异常的概述和分类19.05 JVM默认处理异常19.06 try...catch的方式处理异常1(一个异常)19.07 try...catch的方式处理异常2(两个异常)19.08 JDK7针对多个异常的处理方案19.09 编译期异常和运行期异常的区别19.10 Throwable的几个常见方法19.11 throws的方式处理异

黑马程序员_JavaSE学习总结第22天_IO流4

------- android培训.java培训.期待与您交流! ----------  22.01  数据输入输出流的概述和讲解 操作基本数据类型 public class DataInputStreamextends FilterInputStream implements DataInput 数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型.应用程序可以使用数据输出流写入稍后由数据输入流读取的数据. public class DataOutputStream

Java网络编程 流

流的概述 网络程序的很大一部分工作都是简单的输入和输出(I/O),而Java的I/O建立于流(stream). 输入流读取数据,输出流写入数据. 过滤器(filter)流可以串链到输入流或输出流上.读/写数据时,过滤器流可以修改数据(例如,通过加密或压缩),或只是提供额外的方法,将读/写的数据转换为其他格式. 阅读器(reader)和书写器(writer)可以串链到输入流和输出流上,允许程序读/写文本(字符)而不是字节. 注意:这种划分不是互斥的,比如过滤器可能串链输入输出流,而阅读器可能是纯粹