首页 > 代码库 > 流之概述
流之概述
网络程序所做的很大一部分工作都是简单的输入和输出:将数据字节从一个系统移动到另一个系统。但是,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要快得多。
流之概述
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。