文档详情

Java程序设计-9-基本输入输出处理.ppt

发布:2018-05-14约1.01万字共44页下载文档
文本预览下载声明
Java程序设计 第九章 基本I/O处理 学习目标 理解流的概念,掌握I/O类体系 理解文本流和字节流 理解节点流和变换流 理解复杂流对象的构造 理解文件,掌握文件读/写过程 掌握基于通道和缓冲的文件读写/ 串行化对象 9.1 流 I/O的形式分为四种: 控制台(console, 如DOS窗口)。例如打印到显示器/键盘读入 文件(file)读/写,以文件为读/写对象。 网络接口(TCP/UDP端口)读/写,例如,网上冲浪、网络聊天、邮件发送。 程序(线程)间通信,例如,数据传输。 9.1.1 什么是流 简单的说流就是一个传送有序的字节序列。读者更可以把它想象成为一个数据节点和程序之间建立起来的连接通道上的字节序列。换句话说,流就是对输入数据源和输出目的地的抽象表示。 9.1.2输入和输出流的进一步分类 9.1.3连接数据源/目的地的基本流 基本流可以直接和能够提供输入数据的数据源和接受数据的目的地建立直接的联系,这些基本流包括: 文件:FileInputStream/FileOutputStream, FileReader/FileWriter 管道:PipedInputStream/ PipedOutputStream,PipedReader/PipedWriter 其它:ByteArrayInputStream/ ByteArrayOutputStream, StringBufferInputStream, CharArrayReader/CharArrayWriter StringReader/StringWriter 应用类型 1. 控制台输入/输出 2.文件(file)读/写,以文件为读写对象 3.网络接口(TCP/UDP端口)读/写,例如,网上冲浪、网络聊天、邮件发送 4.程序(线程)间通信,例如,数据传输 关于控制台输入输出的实例 1 控制台(console, 如DOS窗口)。例如输出到显示器/键盘读入 class TestOutputDisplay { public static void main(String args[]) { /* * out是System类中的一个类属性,类型为PrintStream, * 默认指向标准输出设备--显示器 * */ System.out.println(“Hello World!”); } } import java.lang.Exception; class TestInput { public static void main(String args[]) throws Exception { /*准备一个字节数组,用作接收从键盘上输入内容的缓冲区*/ byte[] b = new byte[10]; //number保存每次从输入流中读入到缓冲区b的字节数 int number = 0; number = System.in.read(b); for(int i=0;ib.length;i++){ System.out.println(b[i]); } System.out.println(Received number= + number ); } } 课堂练习 1. 分析上述输入程序输入内容和输出内容有何差异。 2.上述程序是利用基本输入流实现的控制台输入,对于不同类型的格式输入有很大的不便,在第三章中有关基本的输入输出部分介绍了基于Scanner类实现的另外一种简便的输入机制。 请用Scanner完成不同类型数值的输入。 9.1.4 字符流和字节流 基于流中传输的数据表示方式,java把流分为支持二进制数据传输的字节流(Byte Streams),而把支持字符传输的称为字符流(Character Streams) 对应于这两种类型的流,java分别提供了不同的I/O类实现,同时也提供了两种类型的流之间的转换机制 字符流 Reader和Writer是用于读取字符流的两个字符流类的抽象父类,准确地说,它们可以象读写字符流一样读写字节流 。 基于字符流的程序实例 基于字符流的程序实例 import java.io.BufferedReader; import java.io.InputStreamReader; public class TestKeyboardInput { public static void main(String args[]) throws Exception { char[] cbuf = new char[10]; BufferedReader info = n
显示全部
相似文档