欢迎来到天天文库
浏览记录
ID:48049866
大小:1.25 MB
页数:54页
时间:2020-01-13
《Java程序设计-12-基本输入输出处理.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Java程序设计第12章基本I/O处理学习目标理解流的概念,掌握I/O类体系理解文本流和字节流、节点流和加工流理解流的处理链构造,熟悉常用加工流并能灵活应用理解File,能够利用File实例分析文件属性和基本的文件操作掌握顺序文件的读/写过程能够应用RandomAccessFile完成随机文件访问理解串行化,能够定义可串行化的类,并实现对象的串行化存取12.1流I/O的形式分为四种:控制台(console,如DOS窗口)。例如打印到显示器/键盘读入文件(file)读/写,以文件为读/写对象。网络接口(TCP/U
2、DP端口)读/写,例如,网上冲浪、网络聊天、邮件发送。程序(线程)间通信,例如,数据传输。12.1.1什么是流简单的说流就是一个传送有序的字节序列。读者更可以把它想象成为一个数据节点和程序之间建立起来的连接通道上的字节序列。换句话说,流就是对输入数据源和输出目的地的抽象表示。下图流是输入和输出设备的抽象当把数据写入流时,该流被称为输出流。输出流可以连接硬盘上的文件、网络上的另一端等任何可以接收字节序列的设备。同样可以把从中读取数据的流称为输入流,输入流连接的数据源可以是任何串行数据源,如磁盘文件、网络另一端的信
3、息发送程序、键盘等。12.1.2流的分类节点流可以直接和能够提供输入数据的数据源和接受数据的目的地建立直接的联系加工流能够改善应用开发性能和效率的具有特殊功能的I/O流,这些流可以对流进行再处理表12-1节点流字符流字节流FileReader,FileWriterFileInputStream,FileOutputStreamCharArrayReader,CharArrayWriterStringReader,StringWriterByteArrayInputStream,ByteArrayOutputSt
4、reamPipedReader,PipedWriter;PipedInputStream,PipedOutputStream表12-2加工流功能字符流字节流缓冲BufferedReader,BufferedWriterBufferedInputStream,BufferedOutputStream字节流到字符流的转换InputStreamReader,OutputStreamWriter连接SequenceInputStream对象串行化ObjectInputStream,ObjectOutputStream基
5、本数据类型转换DataInputStream,DataOutputStream计数LineNumberReader推回缓冲区PushbackReaderPushbackInputStream过滤FilterReader,FilterWriterFilterInputStream,FilterOutputStream打印PrintWriterPrintStream12.1.3输入流的基本方法表12-3InputStream的主要方法方法作用intread()从输入流中读取数据的下一个字节。intread(byte
6、[]b)从输入流中读取一定数量的字节,并将其存储在缓冲区数组b中。intread(byte[]b,intoff,intlen)将输入流中最多len个数据字节读入byte数组。longskip(longn)跳过和丢弃此输入流中数据的n个字节。表12-4Reader的主要方法方法作用intread()从输入流中读取单个字符。intread(char[]cbuf)从输入流中读取一定数量的字符,并将其存储在缓冲区数组cbuf中。intread(char[]cbuf,intoff,intlen)将输入流中最多len个数据
7、字节读入字符数组中。intread(CharBuffertarget)将字符读入指定的字符缓冲区。longskip(longn)跳过和丢弃此输入流中数据的n个字节。12.1.4输出流的基本方法表12-5OutputStream的主要方法方法作用voidflush()刷新此输出流并强制写出所有缓冲的输出字节。voidwrite(byte[]b)将b.length个字节从指定的byte数组写入此输出流。voidwrite(byte[]b,intoff,intlen)将指定byte数组中从偏移量off开始的len个字
8、节写入此输出流。abstractvoidwrite(intb)将指定的字节写入此输出流。表12-6Writer的主要方法方法作用Writerappend(charc)将指定字符添加到此writer。Writerappend(CharSequencecsq)将指定字符序列添加到此writer。abstractvoidflush()刷新该流的缓冲。如果该流已保存缓冲区中各种write()方
此文档下载收益归作者所有