新Java程序设计实例教程教学课件 刘志成 ch07_Java输入输出技术
合集下载
Java输入输出系统PPT教案学习

的顶层抽象父类。
第26页/共71页
27
9.3 字符流
Reader和Writer都是抽象类。 Reader和Writer对象通常使用
InputStream或OutputStream对象 来创建 InputStream或OutputStream对象 封装了与最终数据源或数据终 点这种外设的连接。
22
输9.2 字节流
BufferedInputStream
BufferedInputStream keyboard = new BufferedInputStream(System.in);
把流包装到BufferedInputStream 对象中的效果是将基本数据流缓 冲入内存,使得一次可以从流中 读入大块数据(其最大值取决于缓 冲区的大小),第2然2页/共后71页让read方法可 以直接从内存缓冲区中读取数据,
StringWriter类与CharArrayWriter类是用于 将字符数据写入StringBuffer对象或char[]型数 组。通常这些类用来执行数据转换,使得转换结 果可以从基础数组或字符串中得到。
StringReader
用于读取字符串
第28页/共71页
29
9.3 字符流
用于像读取字符流一样读取二进制输入流的具体 类是InputStreamReader。
InputStreamReader keyboard = new InputStreamReader(System.in);
InputStreamReader类定义了3种read()方法,这些 方法将从基本流中读取一个或多个字节,并且使 用默认转换方式将它们由本地字符编码转换为 Unicode码后,再将它们返回。
大家可以把流想象为流入自己程序
第26页/共71页
27
9.3 字符流
Reader和Writer都是抽象类。 Reader和Writer对象通常使用
InputStream或OutputStream对象 来创建 InputStream或OutputStream对象 封装了与最终数据源或数据终 点这种外设的连接。
22
输9.2 字节流
BufferedInputStream
BufferedInputStream keyboard = new BufferedInputStream(System.in);
把流包装到BufferedInputStream 对象中的效果是将基本数据流缓 冲入内存,使得一次可以从流中 读入大块数据(其最大值取决于缓 冲区的大小),第2然2页/共后71页让read方法可 以直接从内存缓冲区中读取数据,
StringWriter类与CharArrayWriter类是用于 将字符数据写入StringBuffer对象或char[]型数 组。通常这些类用来执行数据转换,使得转换结 果可以从基础数组或字符串中得到。
StringReader
用于读取字符串
第28页/共71页
29
9.3 字符流
用于像读取字符流一样读取二进制输入流的具体 类是InputStreamReader。
InputStreamReader keyboard = new InputStreamReader(System.in);
InputStreamReader类定义了3种read()方法,这些 方法将从基本流中读取一个或多个字节,并且使 用默认转换方式将它们由本地字符编码转换为 Unicode码后,再将它们返回。
大家可以把流想象为流入自己程序
Java程序设计ppt课件(完整版)

是一行写不下一条语句时,允许一条语句占用多行。 • 逗号(,):分隔变量声明中的多个标识符。 • 圆括号:一般用在表达式、方法的参数和控制语句的条件表达
式中。注意圆括号可以嵌套,但需要严格配对使用。 • 方括号([]):用于声明数组,引用数组的元素值。 • 花括号({}):用于定义一个语句块,一个语句块是零条或多
1.2.4 知识总结
❖ 6.Java数据类型
▪ (1)基本数据类型
• 整数类型:byte,short,int,long。 • 浮点类型:float,double。 • 字符类型:char。 • 布尔类型:boolean。
▪ (2)引用数据类型
• 类类型:class,String,Double等。 • 接口类型:Interface • 数组类型:基本数据类型数组,对象型数组。
❖ 当主菜单与子菜单的连接成功之后, 若要保证菜单的重 复使用,则需要在主菜单及子菜单中添加循环控制语句来 实现,Java语言中的循环有while循环,do while循 环,for循环等。
1.3.3 解决方案
▪ 1、打开Eclipse。
▪ 2、添加一个包,名为com.esms,并复制Menus类到包中。
目录
第一章 Java与程序逻辑 第二章 面向对象程序设计基础 第三章 面向对象基本特性 第四章 常用对象使用 第五章 异常处理 第六章 I/O操作 第七章 多线程编程 第八章 Java的GUI可视界面编程
目录
第一章 Java与程序逻辑 第二章 面向对象程序设计基础 第三章 面向对象基本特性 第四章 常用对象使用 第五章 异常处理 第六章 I/O操作 第七章 多线程编程 第八章 Java的GUI可视界面编程
❖ 3.Java的开发环境
▪ 对于开发人员来说,除了需要上述的运行环境以外, 还需要开发环境的支持,Java的开发环境主要由以下 两部分组成。
式中。注意圆括号可以嵌套,但需要严格配对使用。 • 方括号([]):用于声明数组,引用数组的元素值。 • 花括号({}):用于定义一个语句块,一个语句块是零条或多
1.2.4 知识总结
❖ 6.Java数据类型
▪ (1)基本数据类型
• 整数类型:byte,short,int,long。 • 浮点类型:float,double。 • 字符类型:char。 • 布尔类型:boolean。
▪ (2)引用数据类型
• 类类型:class,String,Double等。 • 接口类型:Interface • 数组类型:基本数据类型数组,对象型数组。
❖ 当主菜单与子菜单的连接成功之后, 若要保证菜单的重 复使用,则需要在主菜单及子菜单中添加循环控制语句来 实现,Java语言中的循环有while循环,do while循 环,for循环等。
1.3.3 解决方案
▪ 1、打开Eclipse。
▪ 2、添加一个包,名为com.esms,并复制Menus类到包中。
目录
第一章 Java与程序逻辑 第二章 面向对象程序设计基础 第三章 面向对象基本特性 第四章 常用对象使用 第五章 异常处理 第六章 I/O操作 第七章 多线程编程 第八章 Java的GUI可视界面编程
目录
第一章 Java与程序逻辑 第二章 面向对象程序设计基础 第三章 面向对象基本特性 第四章 常用对象使用 第五章 异常处理 第六章 I/O操作 第七章 多线程编程 第八章 Java的GUI可视界面编程
❖ 3.Java的开发环境
▪ 对于开发人员来说,除了需要上述的运行环境以外, 还需要开发环境的支持,Java的开发环境主要由以下 两部分组成。
《Java程序设计教程》课件 项目七 数据输入与输出

int num1 = bufin.read(b1); // 将字节数组转换成字符串
String str1 = new String(b1, 0, num1);
System.out.println(str1); // 关闭缓冲输入流,同时关闭了文件
bufin.close();
// 将从键盘读取的数据放入字节数组b2中,num2为读入的字节个数
➢ in:声明形式为public static final InputStream in。使用时,我们可 以利用System.in.read()方法从键盘读入字节数据。不过,System.in 更经常被作为其他对象的参数,表示将键盘输入的数据作为其数 据源。
➢ out:声明形式为public static final PrintStream out。使用时,我们 可以利用System.out.print (“字符串”);语句和System.out.println(“字
int num2 = keyin.read(b2);
// 将字节数组转换成字符串
String str2 = new String(b2, 0, num2);
System.out.println(str2);
}
}
Java程序设计教程
2.字节输出流类OutputStream
字节输出流类OutputStream用于以字节形式将数据写入目的 地,其主要派生子类包括:FileOutputStream(将数据写入文件)、 PrintStream(用于输出各种类型的数据,如整数、浮点数、字符、 字符串、布尔值)等。
取的内容存储在字节数组b中。其返回 值为读入的字节数。如果因为已经到达
流末尾而不再有数据可用,则返回-1。
String str1 = new String(b1, 0, num1);
System.out.println(str1); // 关闭缓冲输入流,同时关闭了文件
bufin.close();
// 将从键盘读取的数据放入字节数组b2中,num2为读入的字节个数
➢ in:声明形式为public static final InputStream in。使用时,我们可 以利用System.in.read()方法从键盘读入字节数据。不过,System.in 更经常被作为其他对象的参数,表示将键盘输入的数据作为其数 据源。
➢ out:声明形式为public static final PrintStream out。使用时,我们 可以利用System.out.print (“字符串”);语句和System.out.println(“字
int num2 = keyin.read(b2);
// 将字节数组转换成字符串
String str2 = new String(b2, 0, num2);
System.out.println(str2);
}
}
Java程序设计教程
2.字节输出流类OutputStream
字节输出流类OutputStream用于以字节形式将数据写入目的 地,其主要派生子类包括:FileOutputStream(将数据写入文件)、 PrintStream(用于输出各种类型的数据,如整数、浮点数、字符、 字符串、布尔值)等。
取的内容存储在字节数组b中。其返回 值为读入的字节数。如果因为已经到达
流末尾而不再有数据可用,则返回-1。
Java程序设计实践教程ppt.ppt

7
1.2.1 简单性 1.2.2 可靠性 1.2.3 安全性 1.2.4 解释器通用性 1.2.5 可移植性 1.2.6 分布性 1.2.7 独立性 1.2.8 面向对象性 1.2.9 高性能性 1.2.10 多线程性 1.2.11 动态性
8
1.3 面向对象程序设计
Java的核心是面向对象程序设计(OOP)。 OOP是一种功能强大的程序设计方法。从计算机 诞生以来,为适应程序不断增加的复杂程度,程 序设计方法论也有了巨大的变化。计算机发展初 期,程序设计是通过使用计算机面板输入二进制 机器指令来完成的。20世纪90年代,诞生了结构 化程序设计方法(如,C和Pascal)。结构化语 言使得编写中等复杂程度的程序相当轻松,但不 适合于大型工程的开发。为了冲破这一束缚,创 建了面向对象方法。面向对象程序设计采纳了结 构化程序设计的思想精华,并且新增了一些概念 和特性,使之性能大大提高。所有面向对象程序 设计语言,包括Java在内,都有三个特性:封装 (encapsulation)、多态性(polymorphism)和 继承(inheritance)。下面,我们分别简单介绍 它们的概念及用法。
2.3 运算符和表达式
数据的类型除了限定数据的存储方 式、取值范围之外,还定义了对该数据 类型可进行的操作即运算。表示各种不 同运算的符号称为运算符,参与运算的 数据称为操作数。
表达式是由操作数(如变量,常量 等)和运算符按一定语法形式组成的一 个有意义的式子。如:a+b、(a+b)* (a-b)、"number="+(p*p)。以上都是 有意义的表达式
3
本章学习要点:
• 了解Java的发展 • 了解Java与C、C++、C#之间的关系 • 了解Java的特点 • 理解Java是一种面向对象程序设计的方法及三
1.2.1 简单性 1.2.2 可靠性 1.2.3 安全性 1.2.4 解释器通用性 1.2.5 可移植性 1.2.6 分布性 1.2.7 独立性 1.2.8 面向对象性 1.2.9 高性能性 1.2.10 多线程性 1.2.11 动态性
8
1.3 面向对象程序设计
Java的核心是面向对象程序设计(OOP)。 OOP是一种功能强大的程序设计方法。从计算机 诞生以来,为适应程序不断增加的复杂程度,程 序设计方法论也有了巨大的变化。计算机发展初 期,程序设计是通过使用计算机面板输入二进制 机器指令来完成的。20世纪90年代,诞生了结构 化程序设计方法(如,C和Pascal)。结构化语 言使得编写中等复杂程度的程序相当轻松,但不 适合于大型工程的开发。为了冲破这一束缚,创 建了面向对象方法。面向对象程序设计采纳了结 构化程序设计的思想精华,并且新增了一些概念 和特性,使之性能大大提高。所有面向对象程序 设计语言,包括Java在内,都有三个特性:封装 (encapsulation)、多态性(polymorphism)和 继承(inheritance)。下面,我们分别简单介绍 它们的概念及用法。
2.3 运算符和表达式
数据的类型除了限定数据的存储方 式、取值范围之外,还定义了对该数据 类型可进行的操作即运算。表示各种不 同运算的符号称为运算符,参与运算的 数据称为操作数。
表达式是由操作数(如变量,常量 等)和运算符按一定语法形式组成的一 个有意义的式子。如:a+b、(a+b)* (a-b)、"number="+(p*p)。以上都是 有意义的表达式
3
本章学习要点:
• 了解Java的发展 • 了解Java与C、C++、C#之间的关系 • 了解Java的特点 • 理解Java是一种面向对象程序设计的方法及三
7Java程序设计教程 第七章输入和输出

} }
Java程序设计教程
Java程序设计教程
第 20 页
字符输入流Reader
第七章
Java输入输出
方法
功能
public abstract void close() throws IOException
关闭输入流
public int read() throws IOException
读取单个字符
Java程序设计教程
Java程序设计教程
第 18 页
Writer类的主要方法如下表所示。
第七章
Java输入输出
方法 public abstract void close() throws IOException public void write(String str) throws IOException public void write(char[] cbuf) throws IOException public abstract void flush() throws IOException
第 22 页
方法
Scanner类 public Scanner(File source)
FileNotFoundException
第七章
Java输入输出
throws
功能 构造方法,从文件中接收内容
public Scanner(InputStream source)
构造方法,从指定的字节输入流中接收内容
public int read(char[] cbuf)throws IOException
将内容读取到字符数组之中,返回读入的长度
Javat语言程序设计教程
Java程序设计教程
第七章
Java程序设计教程
Java程序设计教程
第 20 页
字符输入流Reader
第七章
Java输入输出
方法
功能
public abstract void close() throws IOException
关闭输入流
public int read() throws IOException
读取单个字符
Java程序设计教程
Java程序设计教程
第 18 页
Writer类的主要方法如下表所示。
第七章
Java输入输出
方法 public abstract void close() throws IOException public void write(String str) throws IOException public void write(char[] cbuf) throws IOException public abstract void flush() throws IOException
第 22 页
方法
Scanner类 public Scanner(File source)
FileNotFoundException
第七章
Java输入输出
throws
功能 构造方法,从文件中接收内容
public Scanner(InputStream source)
构造方法,从指定的字节输入流中接收内容
public int read(char[] cbuf)throws IOException
将内容读取到字符数组之中,返回读入的长度
Javat语言程序设计教程
Java程序设计教程
第七章
《JAVA语言程序设计教程》课件第7章

1. Error与Exception类 Error类是错误类,表示仅靠程序本身无法修复的严重错 误,如内存溢出错误(OutOfMemoryError)、线程死亡错误 (ThreadDeath)等。这类异常发生时,Error类对象由Java虚拟机 生成并抛出给系统。本章不再讨论关于Error类型的异常处理, 因为它们通常是灾难性的致命错误,不是程序可以控制的。
异常类Exception的超类为Throwable类。Throwable类中 定义了方法来检索与异常相关的信息,并打印显示异常发生的 栈跟踪信息。这些方法的描述见表7.1。
表 7.1 Throwable 类定义的方法
方法
描述
Throwable fillInStackTrace( )
返回一个包含完整堆栈轨迹的 Throwable 对象,该对象可 能被再次引发
为防止和处理一个运行时错误,只需要把所要监控的代码 放进一个try语句块。紧跟try语句块的是一个能够捕获程序员 所希望的错误类型的catch语句块。下面的程序包含一个处理 例7-1中FileNotFoundException异常的try语句块和catch语句块。
【例 7-3】 捕获并处理例 7-1 中的异常。
寻找异常处理方法的过程从生成异常的方法开始,沿着方 法的调用栈逐层回朔,直到找到包含相应异常处理的方法为止。 然后,Java虚拟机把当前异常对象交给这个方法进行处理。这 一过程称为捕获(catch)异常。如果查遍整个调用栈仍然没有找 到合适的异常处理方法,Java虚拟机将终止Java程序的执行。
Java异常处理过程通过5个关键字控制:try、catch、 finally、throw和throws。其中,try、catch和finally构成异常处 理的完整语法。
第八章java的输入输出-PPT精品.ppt

File tests:
String getName()
boolean exists()
String getPath()
boolean canWrite()
String getAbsolutePath() boolean canRead()
String getParent()
boolean renameTo( File newNbaomoel)ean isFile()
17
第八章 java的输入输出
8.3 数据流的使用
18
第八章 java的输入输出
8.3 数据流的使用
1.如何使用文件流: 例题:将一个文件的内容拷贝到另一个文件。 见:copy.java
19
第八章 java的输入输出
介绍 File 类
File类用来访问本地文件系统中的文件和目 录。
1. 创建File类
6
第八章 java的输入输出
8.2 Java用于输入输出流的类
按所读写的数据类型分两类:
字符流类(Character Streams) 字符流类用于 向字符流读写16位二进制字符。
字节流类(Byte Streams) 字节流类用于向字 节流读写8位二进制的字节。一般地,字节流类 主要用于读写诸如图象或声音等的二进制数据。
7
第八章 java的输入输出
8.2 Java用于输入输出流的类
java.io中的基本流类:
说明:它们是抽象类,不能直接创建对象。
8
第八章 java的输入输出
8.2 Java用于输入输出流的类
1. InputStream 方法
The three basic read methods:
Java语言程序设计(第二版)课件第9章 输入输出处理

• 输入流:代表从外设流入程序的数据序列; • 输出流:代表从程序流向外设的数据序列。 • 字节流:在输入输出过程中以字节为单位。 • 字符流:在输入输出过程中以字符为单位。
3
9.1.2 输入输出类层次
InputStream
FileInputStream ByteArrayInputStream PipedInputStream SequenceInputStream StringBufferInputStream FilterInputStream
read(); read(char[] buffer); write(String str); write(char[] buffer);
9
9.3.3 缓冲字符流
BufferedReader和BufferedWriter • 构造方法: BufferedReader(Reader in) BufferedReader(Reader in,int size) BufferedWriter(Writer out) BufferedWriter(Writer out,int size) • 常用方法:readLine( ); newLine( );
13
9.4.3 文件的随机访问
使用下列构造方法创建流: RandomAccessFile(String name,String mode); RandomAccessFile(File name,String mode); mode的取值为”r”或”rw”
14
9.5.1 串行化的概念和目的
对象能记录自己状态以便将来再恢复的能力。 目的: (1)支持Java的对象持续性。 (2)支持对象的远程调用。 (3)严格遵守Java的对象模型,对象的串行化状
3
9.1.2 输入输出类层次
InputStream
FileInputStream ByteArrayInputStream PipedInputStream SequenceInputStream StringBufferInputStream FilterInputStream
read(); read(char[] buffer); write(String str); write(char[] buffer);
9
9.3.3 缓冲字符流
BufferedReader和BufferedWriter • 构造方法: BufferedReader(Reader in) BufferedReader(Reader in,int size) BufferedWriter(Writer out) BufferedWriter(Writer out,int size) • 常用方法:readLine( ); newLine( );
13
9.4.3 文件的随机访问
使用下列构造方法创建流: RandomAccessFile(String name,String mode); RandomAccessFile(File name,String mode); mode的取值为”r”或”rw”
14
9.5.1 串行化的概念和目的
对象能记录自己状态以便将来再恢复的能力。 目的: (1)支持Java的对象持续性。 (2)支持对象的远程调用。 (3)严格遵守Java的对象模型,对象的串行化状