输入输出流的总括

论坛 期权论坛     
选择匿名的用户   2021-5-22 16:42   14   0
<p><font size="4">【课前思考】<br>1.     字节流和字符流的基类各是什么?<br>2.     什么是对象的串行化?对象串行化的作用是什么?<br>【学习目标】<br>本讲主要讲述了java语言中的输入/输出的处理,通过本讲的学习,同学们可以编写更为完善的java程序。<br>【学习指南】<br>仔细阅读本章各知识点的内容, 深刻理解 java 语言中输入/输出流的处理方法,掌握处理问题的方法,多练习,多上机。<br>【难 重 点】<br>     遇到实际问题时,要根据需要正确使用各种输入/输出流,特别是对中文使用适当的字符输入流。<br>     正确使用对象串行化的方法。<br>     处理字符流时,其构造方法的参数是一个字节流。<br>     对象串行化的概念。<br>【知 识 点】<br>     I/O 流概述<br>     文件处理<br>     过滤流<br>     字符流的处理<br>     对象的串行化<br>     其它常用的流<br>【内 容】<br>第一节 数据流的基本概念<br>     理解数据流<br>流一般分为输入流(Input Stream)和输出流(Output Stream)两类,但这种划分并不是绝对的。比如一个文件,当向其中写数据时,它就是一个输出流;当从其中读取数据时,它就是一个输入流。当然,键盘只是一个数人流,而屏幕则只是一个输出流。<br>     Java的标准数据流<br>标准输入输出指在字符方式下(如DOS),程序与系统进行交互的方式,分为三种:<br>标准输入studin,对象是键盘。<br>标准输出stdout,对象是屏幕。<br>标准错误输出stderr,对象也是屏幕。<br>例 8.1 从键盘输入字符。<br>本例用System.in.read(buffer)从键盘输入一行字符,存储在缓冲区buffer中,count保存实际读入的字节个数,再以整数和字符两种方式输出buffer中的值。Read方法在java.io包中,而且要抛出IOException异常。程序如下:<br>import java.io.*;<br>public class Input1<br>{<!-- --><br>public static void main(String args[]) throws IOException<br>{ <br>System.out.println(&#34;Input: &#34;);<br>byte buffer[] &#61; new byte[512]; //输入缓冲区<br>int count &#61; System.in.read(buffer); //读取标准输入流<br>System.out.println(&#34;Output: &#34;);<br>for (int i&#61;0;i&lt;COUNT;I&#43;&#43;) 输出buffer元素值<br>{<!-- --><br>System.out.print(&#34; &#34;&#43;buffer[i]);<br>}<br>System.out.println();<br>for (int i&#61;0;i&lt;COUNT;I&#43;&#43;) 按字符方式输出buffer<br>{<!-- --><br>System.out.print((char) buffer[i]);<br>}<br>System.out.println(&#34;count &#61; &#34;&#43; count); //buffer实际长度<br>}<br>}<br>程序中,main方法采用throws子句抛出IOException异常交由系统处理。<br>     Java.io包中的数据流及文件类<br>字节流:<br>  从InputStream和OutputStream派生出来的一系列类。这类流以字节(byte)为基本处理单位。<br>     InputStream、OutputStream<br>     ◇ FileInputStream、FileOutputStream<br>     ◇ PipedInputStream、PipedOutputStream<br>     ◇ ByteArrayInputStream、ByteArrayOutputStream<br>     ◇ FilterInputStream、FilterOutputStream<br>     ◇ DataInputStream、DataOutputStream<br>     ◇ BufferedInputStream、BufferedOutputStream<br>字符流:<br>  从Reader和Writer派生出的一系列类,这类流以16位的Unicode码表示的字符为基本处理单位<br>     Reader、Writer<br>     ◇ InputStreamReader、OutputStreamWriter<br>     ◇ FileReader、FileWriter<br>     ◇ CharArrayReader、CharArrayWriter<br>     ◇ PipedReader、PipedWriter<br>     ◇ FilterReader、FilterWriter<br>     ◇ BufferedReader、BufferedWriter<br>     ◇ StringReader、StringWriter</font></p>
<p><font size="4">第二节 字节流初步<br>InputStream 和OutputStream <br>     read():从流中读入数据<br>     skip():跳过流中若干字节数<br>     available():返回流中可用字节数<br>     mark():在流中标记一个位置<br>     reset():返回标记过得位置<br>     markSupport():是否支持标记和复位操作<br>     close():关闭流<br>     int read() <br>从输入流中读一个字节,形成一个0~255之间的整数返回(是一个抽象方法)。<br>     int read(byte b[]) <br>读多个字节到数组中。<br>     int read(byte b[], int off, int len)<br>     write(int b) <br>将一个整数输出到流中(只输出低位字节,抽象)<br>     write(byte b[]) <br>将字节数组中的数据输出到流中<br>     write(byte b[], int off, int len) <br>将数组b中从off指定的位置开始,长度为len的数据输出到流中<br>     flush():刷空输出流,并将缓冲区中的数据强制送出<br>     close():关闭流<br>从输入流中读取长度为len的数据,写入数组b中从索引off开始的位置,并返回读取得字节数。<br>进行I/O操作时可能会产生I/O例外,属于非运行时例外&#
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP