JAVA 输入流 输出流
1流的概念
stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源。流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在这其中“流”动一样,如下图:
在Java的IO中,所有的stream(包括Inputstream和Out stream)都包括两种类型:
(1)字节流
表示以字节为单位从stream中读取或往stream中写入信息,即io包中的inputstream类和outputstream类的派生类。通常用来读取二进制数据,如图象和声音。
(2)字符流
以Unicode字符为导向的stream,表示以Unicode字符为单位从stream中读取或往stream中写入信息。
区别:
Reader和Writer要解决的,最主要的问题就是国际化。原先的I/O类库只支持8位的字节流,因此不可能很好地处理16位的Unicode字符流。Unicode是国际化的字符集(更何况Java内置的char就是16位的Unicode字符),这样加了Reader和Writer之后,所有的I/O就都支持Unicode了。此外新类库的性能也比旧的好。
但是,Read和Write并不是取代InputStream和OutputStream,有时,你还必须同时使用"基于byte的类"和"基于字符的类"。为此,它还提供了两个"适配器(adapter)"类。InputStreamReader负责将InputStream转化成Reader,而OutputStreamWriter则将OutputStream转化成Writer。实际上是通过byte[]和String来关联。在实际开发中出现的汉字问题实际上都是在字符流和字节流之间转化不统一而造成的。
以字符为导向的stream基本上对有与之相对应的以字节为导向的stream。两个对应类实现的功能相同,只是在操作时的导向不同。
Java输入输出流详细用法_计算机软件及应用_IT/计算机...();//获取文件最后修改的时间(时间是从 1970 年...{ e1.printStackTrace(); } 二、 文件字节流 1...
Java输入 输出处理 一) 输入/输出处理 输入 输出处理(一 Java输入输出流 I/O流概述 一) 流概述(一 流概述 字节流(一 字节流 一) 字节流的基类 文件流 ...
java输入输出流和文件操作_计算机软件及应用_IT/计算机...最后修改时间、是否可读、获取当前文件的路径名,判断...除此之外都使用 字节流。 输入流和输出流 对输入...
JAVA输入输出流_IT/计算机_专业资料。JAVA输入输出流简介,很详细,很全面,一看...串输入流 9.2 字节流(2) 字节输出流OutputStream类为所有面向字节的输出流的超...
Java 中面向字节的输入输出流字节流以字节为传输单位,用来读写 8 位的数据,除了能够处理纯文本文件之外,还能用 来处理二进制文件的数据。InputStream 类和 ...
java 标准输入输出流_计算机软件及应用_IT/计算机_专业资料。java 标准输入输出流 计算机系统都有标准的输入设备和标准输出设备。对一般系统而言,标准输入 设备通常是...
公司 徽标 Java输入/输出处理(二) Java输入输出流 I/O流概述 一) 流概述(一 流概述 字节流(一 字节流 一) 字节流的基类 文件流 过滤流 标准流 对象流 ...
流流是指在计算机的输入与输出之间的数据的序 中的数据流有位流( 列,而Java中的数据流有位流(字节流)和字符流 中的数据流有位流 字节流) 之分; 之分; ...
通过使用java.io包中的输入/输出流类就可以达到 ...数据源或目标中含有非字符数据,必须用字节流 来输入...如果不知道数据的个数该怎么办呢?因为 Data...
Java 提供了两种类型的输入输出流:一种是面向字节的流,数据的处理以 字节为基本单位;另一种是面向字符的流,用于字符数据的处理.字节流 (Byte Stream)每次读写 ...
我要评论