教案资料.ppt

大学JAVA程序设计实例教程-毕广吉-课件PPT

收藏

资源目录
跳过导航链接。
大学JAVA程序设计实例教程-毕广吉-课件PPT.zip
JAVA程序设计实例教程-毕广吉-PPT演示文稿
教案资料.ppt---(点击预览)
JAVA程序设计实例教程-毕广吉-PPT课件文件
文稿ppt_ppt.txt---(点击预览)
文稿ppt_ppt.jpg---(点击预览)
文稿ppt.ppt---(点击预览)
JAVA程序设计实例教程-毕广吉-大学教学资料
(课件资料)《JAVA程序设计实例教程》-毕广吉-电子教案
压缩包内文档预览:(预览前20页/共30页)
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:21836495    类型:共享资源    大小:15.24MB    格式:ZIP    上传时间:2019-09-06 上传人:QQ24****1780 IP属地:浙江
25
积分
关 键 词:
大学 java 程序设计 实例教程 毕广吉 课件 ppt
资源描述:
大学JAVA程序设计实例教程-毕广吉-课件PPT,大学,java,程序设计,实例教程,毕广吉,课件,ppt
内容简介:
本章学习关于文件的编程,包括4部分内容,即:选择文件对话框、对文件的操作、文件的读写和运行可执行文件。学习本章应掌握以下内容: 掌握调用文件对话框并选择一个文件或文件夹的方法。 掌握数据流、字符流、字节流的概念和顺序读写文件、随机 读写文件的概念。 掌握使用流技术读写文本文件和二进制文件的方法。 掌握文件的各种操作,包括获取和设置文件的属性、创建文 件夹、文件和文件夹的重命名、文件和文件夹的删除等等。 掌握在Java程序中调用可执行文件的方法。,本章学习目标,10.1 文件对话框类FileDialog,文件对话框FileDialog类是对话框Dialog的子类,专门用于从对话框中选择一个文件。文件对话框有打开文件对话框和保存文件对话框两种,究竟使用哪一种,由构造函数的参数决定。 相对文件对话框FileDialog而言对话框Dialog是万能的,但是用户要做更多的编程工作;而文件对话框功能单一,使用方便。 1创建文件对话框 文件对话框的构造方法有三种形式,其中第三种更为常用,如表10-1所示。,10.1 文件对话框类FileDialog,表10-1 文件对话框的构造方法,2文件对话框的常用方法 文件对话框的方法主要用于对文件对话框的特性进行设置以及获取选择的结果,除了从Dialog类继承的方法之外,常用的方法见表10-2所列。,10.1 文件对话框类FileDialog,表10-2 文件对话框的常用方法,实例 使用对话框选择文件 方法1:显式地创建窗口事件适配器类 方法2:创建窗口事件适配器对象时嵌套创建适配器类 方法3:创建窗口事件适配器对象时嵌套创建适配器类,10.2 文件类File,要对文件进行读写等操作,需要使用文件类File,本节介绍文件类的基本内容。表10-3给出了文件类的构造方法。需要说明的是,文件类实例化以后得到一个文件对象,但是文件对象并不是一个具体的文件。 表10-3 文件类的构造方法,在这3个构造方法中,方法1最为简单,但是如果要在同一目录中创建多个文件,由于方法2和方法3的文件名和目录是分开的,使用起来更加方便。,10.2 文件类File,考虑到不同的操作系统的路径分隔符是不同的,而Java语言是跨平台的编程语言,所以Java在文件类中定义了一些静态的类变量用于表示这些分隔符,当程序运行在不同平台上时,这些分隔符自动变为该平台的分隔符,见表10-4。 表10-4 文件类的静态类变量,10.2 文件类File,File类提供了许多文件操作的方法,表10-5给出了其中最常用的方法,在10.6节将给出一个调用这些方法的例子。 表10-5 File类的常用方法,10.2 文件类File,10.3 流的概念,10.3.1 数据流的概念 所有程序都离不开输入和输出,在Java语言中输入输出都是通过数据流来实现的。数据流(stream)是一组有顺序的、有起点和终点的字节集合,是对输入输出的抽象。包括从键盘接受数据、读写文件、打印输出等操作,都是数据流。Java对数据流操作的类都在java.io包中。 数据流分为输入流(InputStream)和输出流(OutStream)两种,输入流只能读不能写,用来输入数据,例如从键盘、文件输入数据等。而输出流只能写不能读,用来输出数据,例如向显示器、打印机、文件输出数据等。引入数据流概念的目的是使程序的输入输出操作与具体的设备无关,从而使程序员在程序设计时根本不用考虑那些输入输出设备是如何工作的。,10.3 流的概念,对数据流的操作是以字节为单位进行的,虽然看起来是输入或输出一个字节,但是实际的物理过程却不是这样。为了提高数据传输的效率,通常使用缓冲区(buffer)技术,缓冲区是专门用于数据输入输出的一块内存。 当向输出设备输出(写)数据时,并不是直接把数据输出到输出设备,而是写到缓冲去,只有两种情况才真正进行写的物理操作,一种情况是缓冲区已满,另一种情况则是程序发出了强制写的指令,例如关闭文件时。 同样道理,当程序从输入设备读取数据时,也总是在缓冲区中找有没有欲读取的数据,如果有,直接从缓冲区中获取数据,如果没有,再从输入设备物理地读取,并且每次物理读取都尽可能多地读取数据,通常是读满整个缓冲区,以备下一次读取所用。,10.3 流的概念,10.3.2 标准的输入输出 标准输入输出的概念来自于DOS,是在字符方式下程序与系统设备进行交互的方式,包括标准输入、标准输出和标准错误输出。标准输入的对象是键盘,标准输出和标准错误输出的对象都是显示器。 Java通过系统类System实现标准输入输出功能,System类位于java.lang包中,使用System类是最终类(final)不需(也允许)创建其对象,可以直接使用,例如前面程序中经常使用的 System.out.println(“String Message“); 就是这样的用法。 System类有3个成员列于表10-6中,注意这3个成员对象的数据类型分别是下面要介绍的字节输入流类InputStream和打印输出流类PrintStream。,10.3 流的概念,表10-6 System类的成员 标准输入输出对象in和out经常配合输入流类InputStream和输出流类PrintStream的方法使用,象下面的样子: System.in.read( ); System.out.print(“String Message“); System.out.println(“String Message“); 实例 标准输入输出,10.3 流的概念,10.3.3 java.io包中的数据流类 java.io包支持二进制字节流(binary stream,简称字节流)和字符流(character stream),字节流和字符流的区别是,字符流用于传输纯文本,而字节流可以传输各种数据。由于Java使用的是16位的Unicode码,所以对于每一个字符要传输两个字节,先传输高字节,再传输低字节。字节流除了也能传输纯文本以外,还可以传输程序的可执行代码、图片、声音、视频等等其他数据。 java.io包中有2个用于字节流输入输出的类和2个用于字符流输入输出的类,见表10-7所列。,10.3 流的概念,表10-7 java.io包中字节流和字符流类,这些都是抽象类,不能实例化。对于文件操作,实际使用时分别使用二者的子类FileInputStream类、FileOutputStream类、FileReader类和FileWriter类。表10-8和表10-9分别列出了这4个类的构造方法和常用方法。,10.3 流的概念,表10-8 字节流类和字符流类的构造方法,10.3 流的概念,10.3 流的概念,表10-9 字节流类和字符流类的常用方法,10.3 流的概念,以上3个read方法会发生一些异常,具体来说: 当文件不存在时会抛出IOException类的FileNotFoundException异常; 当目标数组b为空时会抛出NullPointerException异常; 当off或len为负数或者off+len大于数组的长度,会抛出IndexOutOfBoundsException异常。 3个write方法可能发生的异常跟FileInputStream类类似。此外用这3个方法写数据时,如果目标文件不存在,会自动创建目标文件。写的方式视创建输出流对象时append参数为true还是false而取追加方式或者覆盖方式。,10.4 顺序读写文件,本书把绝大多数书籍中“读写顺序文件”、“读写随机文件”的说法改称“顺序读写文件”和“随机读写文件”,这是因为文件本身并没有“顺序文件”和“随机文件”之分,只是在读写文件时有“顺序读写”和“随机读写”两种读写方式。 顺序读写文件使用10.3节介绍的各个数据流类,以下几节是几个顺序读写文件的实例。 10.4.1 用文件输入流顺序读文件 实例 打开并读取文件 10.4.2 用字节流顺序写文件 实例 用字节流写文件 10.4.3 用字符流顺序写文件 实例 用字符流写文件 10.4.4 用文件输入输出流读写文件 实例 复制文件 实例 复制文件之二,10.5 使用LineNumberReader类,为源程序加行号是读写文件的典型例子,其结果是把一个源程序文件(或任何纯文本文件)加上行号后写到另一个文件中。 要实现这一功能,最容易想到的思路是逐行读取源文件,每读取源文件的一行后,利用字符串的处理方法在原内容的前方加上行号,然后写入到目标文件中。除此方法之外,利用Java类库提供的LineNumberReader类能更方便的完成此项任务。在介绍具体的程序之前先对reader类和LineNumberReader类做些介绍。 Reader类可译为读者类,这是一个用于读字符流的抽象类,主要用来声明一个reader对象。 LineNumberReader类用字符流方式读取文件,本例使用该类这样一个特点,即在使用readLine()方法读取文件的一行时,可以用getLineNumber()方法获取该行的行号。表10-10给出了该类的常用构造方法和常用成员方法。,10.5 使用LineNumberReader类,表10-10 LineNumberReader类的常用构造方法和成员方法 实例 为源程序加行号,10.6 随机读写文件,前几节所述顺序读写文件的方式只能按顺序读或者按顺序写,不能在文件的任意位置进行读写;另一方面读和写必须针对不同的文件对象进行,不能对同一个文件进行既读又写的操作。要在文件的任意位置进行既读又写的操作,需要RandomAccessFile类。表10-11给出了RandomAccessFile类的构造方法,表10-12给出了RandomAccessFile类的常用成员方法。 表10-11 RandomAccessFile类的构造方法,10.6 随机读写文件,表10-12 RandomAccessFile类的常用方法,10.6 随机读写文件,10.6 随机读写文件,实例 随机读写文件,10.7 获取文件信息,10.7.1 SimpleDateFormat类 虽然用10.2节介绍的文件类File的知识可以获取文件属性,但为了使时间属性的输出更符合阅读习惯,先简单介绍与日期时间有关的Date类和SimpleDateFormat类。 Date类是与系统日期时间有关的类,见5.1.6节的介绍, SimpleDateFormat类是与日期时间格式有关的类,这里只用到它的一种构造方法一个实例方法,列于表10-13中。 表10-13 SimpleDateFormat类的常用方法,10.7 获取文件信息,其中参数pattern是一个规定日期时间格式字符串,表10-14给出了不同字母代表的意义和具体的用法,请注意这里大小写的意义是不同的。对于不属于表中的字母(例如小数点等)和汉字,照原样返回,如果希望返回属于表中的字母,需要用单引号把含有这些字母的字符串括起来。,10.7 获取文件信息,表10-14 SimpleDateFormat的pattern参数,10.7 获取文件信息,10.7.2 获取文件属性 实例 文件属性列表,10.8 运行可执行文件,10.8.1 Runtime类 在Java中运行其他软件编制的可执行的EXE文件是实现Java与其他软件接口的重要方法,实现exec功能要用到Runtime类,表10-15列出了Runtime类的常用方法。 表10-15 Runtime类的常用方法,10.8.2 在Java中执行EXE文件 实例 运行可执行文件1 10.8.3 选择一个可执行文件并运行 实例 运行可执行文件2,10.9 本章小结,本章学习了Java语言中与文件操作有关的内容。包括使用文件对话框类FileDialog调用文件对话框并返回所选择的文件;使用文件类File创建文件对象、获取或设置文件对象的属性;使用java.io包中的字节流类(InputStream类和OutputStream类)、字符流类(Reader类和Writer类)顺序读写文本文件和二进制文件的方法;使用RandomAccessFile类随机读写文件的方法;使用Runtime类调用其他可执行文件的方法。通过本章的学习应能胜任与文件有关的编程工作。,本章学习关于文件的编程,包括4部分内容,即:选择文件对话框、对文件的操作、文件的读写和运行可执行文件。学习本章应掌握以下内容:掌握调用文件对话框并选择一个文件或文件夹的方法。掌握数据流、字符流、字节流的概念和顺序读写文件、随机 读写文件的概念。掌握使用流技术读写文本文件和二进制文件的方法。掌握文件的各种操作,包括获取和设置文件的属性、创建文 件夹、文件和文件夹的重命名、文件和文件夹的删除等等。掌握在Java程序中调用可执行文件的方法。本章学习目标 10.1 文件对话框类FileDialog 文件对话框FileDialog类是对话框Dialog的子类,专门用于从对话框中选择一个文件。文件对话框有打开文件对话框和保存文件对话框两种,究竟使用哪一种,由构造函数的参数决定。 相对文件对话框FileDialog而言对话框Dialog是万能的,但是用户要做更多的编程工作;而文件对话框功能单一,使用方便。 1创建文件对话框 文件对话框的构造方法有三种形式,其中第三种更为常用,如表10-1所示。10.1 文件对话框类FileDialog 表10-1 文件对话框的构造方法 2文件对话框的常用方法 文件对话框的方法主要用于对文件对话框的特性进行设置以及获取选择的结果,除了从Dialog类继承的方法之外,常用的方法见表10-2所列。10.1 文件对话框类FileDialog 表10-2 文件对话框的常用方法 实例 使用对话框选择文件 方法1:显式地创建窗口事件适配器类 方法2:创建窗口事件适配器对象时嵌套创建适配器类 方法3:创建窗口事件适配器对象时嵌套创建适配器类10.2 文件类File 要对文件进行读写等操作,需要使用文件类File,本节介绍文件类的基本内容。表10-3给出了文件类的构造方法。需要说明的是,文件类实例化以后得到一个文件对象,但是文件对象并不是一个具体的文件。 表10-3 文件类的构造方法 在这3个构造方法中,方法1最为简单,但是如果要在同一目录中创建多个文件,由于方法2和方法3的文件名和目录是分开的,使用起来更加方便。10.2 文件类File 考虑到不同的操作系统的路径分隔符是不同的,而Java语言是跨平台的编程语言,所以Java在文件类中定义了一些静态的类变量用于表示这些分隔符,当程序运行在不同平台上时,这些分隔符自动变为该平台的分隔符,见表10-4。 表10-4 文件类的静态类变量10.2 文件类File File类提供了许多文件操作的方法,表10-5给出了其中最常用的方法,在10.6节将给出一个调用这些方法的例子。 表10-5 File类的常用方法10.2 文件类File10.3 流的概念10.3.1 数据流的概念 所有程序都离不开输入和输出,在Java语言中输入输出都是通过数据流来实现的。数据流(stream)是一组有顺序的、有起点和终点的字节集合,是对输入输出的抽象。包括从键盘接受数据、读写文件、打印输出等操作,都是数据流。Java对数据流操作的类都在java.io包中。 数据流分为输入流(InputStream)和输出流(OutStream)两种,输入流只能读不能写,用来输入数据,例如从键盘、文件输入数据等。而输出流只能写不能读,用来输出数据,例如向显示器、打印机、文件输出数据等。引入数据流概念的目的是使程序的输入输出操作与具体的设备无关,从而使程序员在程序设计时根本不用考虑那些输入输出设备是如何工作的。 10.3 流的概念 对数据流的操作是以字节为单位进行的,虽然看起来是输入或输出一个字节,但是实际的物理过程却不是这样。为了提高数据传输的效率,通常使用缓冲区(buffer)技术,缓冲区是专门用于数据输入输出的一块内存。 当向输出设备输出(写)数据时,并不是直接把数据输出到输出设备,而是写到缓冲去,只有两种情况才真正进行写的物理操作,一种情况是缓冲区已满,另一种情况则是程序发出了强制写的指令,例如关闭文件时。 同样道理,当程序从输入设备读取数据时,也总是在缓冲区中找有没有欲读取的数据,如果有,直接从缓冲区中获取数据,如果没有,再从输入设备物理地读取,并且每次物理读取都尽可能多地读取数据,通常是读满整个缓冲区,以备下一次读取所用。10.3 流的概念10.3.2 标准的输入输出 标准输入输出的概念来自于DOS,是在字符方式下程序与系统设备进行交互的方式,包括标准输入、标准输出和标准错误输出。标准输入的对象是键盘,标准输出和标准错误输出的对象都是显示器。 Java通过系统类System实现标准输入输出功能,System类位于java.lang包中,使用System类是最终类(final)不需(也允许)创建其对象,可以直接使用,例如前面程序中经常使用的 System.out.println(String Message);就是这样的用法。 System类有3个成员列于表10-6中,注意这3个成员对象的数据类型分别是下面要介绍的字节输入流类InputStream和打印输出流类PrintStream。10.3 流的概念 表10-6 System类的成员 标准输入输出对象in和out经常配合输入流类InputStream和输出流类PrintStream的方法使用,象下面的样子: System.in.read( ); System.out.print(String Message); System.out.println(String Message); 实例 标准输入输出10.3 流的概念10.3.3 java.io包中的数据流类 java.io包支持二进制字节流(binary stream,简称字节流)和字符流(character stream),字节流和字符流的区别是,字符流用于传输纯文本,而字节流可以传输各种数据。由于Java使用的是16位的Unicode码,所以对于每一个字符要传输两个字节,先传输高字节,再传输低字节。字节流除了也能传输纯文本以外,还可以传输程序的可执行代码、图片、声音、视频等等其他数据。 java.io包中有2个用于字节流输入输出的类和2个用于字符流输入输出的类,见表10-7所列。10.3 流的概念 表10-7 java.io包中字节流和字符流类 这些都是抽象类,不能实例化。对于文件操作,实际使用时分别使用二者的子类FileInputStream类、FileOutputStream类、FileReader类和FileWriter类。表10-8和表10-9分别列出了这4个类的构造方法和常用方法。10.3 流的概念表10-8 字节流类和字符流类的构造方法10.3 流的概念10.3 流的概念 表10-9 字节流类和字符流类的常用方法10.3 流的概念 以上3个read方法会发生一些异常,具体来说: 当文件不存在时会抛出IOException类的FileNotFoundException异常; 当目标数组b为空时会抛出NullPointerException异常; 当off或len为负数或者off+len大于数组的长度,会抛出IndexOutOfBoundsException异常。 3个write方法可能发生的异常跟FileInputStream类类似。此外用这3个方法写数据时,如果目标文件不存在,会自动创建目标文件。写的方式视创建输出流对象时append参数为true还是false而取追加方式或者覆盖方式。10.4 顺序读写文件 本书把绝大多数书籍中“读写顺序文件”、“读写随机文件”的说法改称“顺序读写文件”和“随机读写文件”,这是因为文件本身并没有“顺序文件”和“随机文件”之分,只是在读写文件时有“顺序读写”和“随机读写”两种读写方式。 顺序读写文件使用10.3节介绍的各个数据流类,以下几节是几个顺序读写文件的实例。10.4.1 用文件输入流顺序读文件 实例 打开并读取文件10.4.2 用字节流顺序写文件 实例 用字节流写文件10.4.3 用字符流顺序写文件 实例 用字符流写文件10.4.4 用文件输入输出流读写文件 实例 复制文件 实例 复制文件之二10.5 使用LineNumberReader类 为源程序加行号是读写文件的典型例子,其结果是把一个源程序文件(或任何纯文本文件)加上行号后写到另一个文件中。 要实现这一功能,最容易想到的思路是逐行读取源文件,每读取源文件的一行后,利用字符串的处理方法在原内容的前方加上行号,然后写入到目标文件中。除此方法之外,利用Java类库提供的LineNumberReader类能更方便的完成此项任务。在介绍具体的程序之前先对reader类和LineNumberReader类做些介绍。 Reader类可译为读者类,这是一个用于读字符流的抽象类,主要用来声明一个reader对象。 LineNumberReader类用字符流方式读取文件,本例使用该类这样一个特点,即在使用readLine()方法读取文件的一行时,可以用getLineNumber()方法获取该行的行号。表10-10给出了该类的常用构造方法和常用成员方法。10.5 使用LineNumberReader类 表10-10 LineNumberReader类的常用构造方法和成员方法 实例 为源程序加行号10.6 随机读写文件 前几节所述顺序读写文件的方式只能按顺序读或者按顺序写,不能在文件的任意位置进行读写;另一方面读和写必须针对不同的文件对象进行,不能对同一个文件进行既读又写的操作。要在文件的任意位置进行既读又写的操作,需要RandomAccessFile类。表10-11给出了RandomAccessFile类的构造方法,表10-12给出了RandomAccessFile类的常用成员方法。 表10-11 RandomAccessFile类的构造方法10.6 随机读写文件 表10-12 RandomAccessFile类的常用方法10.6 随机读写文件10.6 随机读写文件 实例 随机读写文件10.7 获取文件信息10.7.1 SimpleDateFormat类 虽然用10.2节介绍的文件类File的知识可以获取文件属性,但为了使时间属性的输出更符合阅读习惯,先简单介绍与日期时间有关的Date类和SimpleDateFormat类。 Date类是与系统日期时间有关的类,见5.1.6节的介绍, SimpleDateFormat类是与日期时间格式有关的类,这里只用到它的一种构造方法一个实例方法,列于表10-13中。 表10-13 SimpleDateFormat类的常用方法10.7 获取文件信息 其中参数pattern是一个规定日期时间格式字符串,表10-14给出了不同字母代表的意义和具体的用法,请注意这里大小写的意义是不同的。对于不属于表中的字母(例如小数点等)和汉字,照原样返回,如果希望返回属于表中的字母,需要用单引号把含有这些字母的字符串括起来。10.7 获取文件信息 表10-14 SimpleDateFormat的pattern参数10.7 获取文件信息10.7.2 获取文件属性 实例 文件属性列表10.8 运行可执行文件10.8.1 Runtime类 在Java中运行其他软件编制的可执行的EXE文件是实现Java与其他软件接口的重要方法,实现exec功能要用到Runtime类,表10-15列出了Runtime类的常用方法。 表10-15 Runtime类的常用方法10.8.2 在Java中执行EXE文件 实例 运行可执行文件110.8.3 选择一个可执行文件并运行 实例 运行可执行文件210.9 本章小结 本章学习了Java语言中与文件操作有关的内容。包括使用文件对话框类FileDialog调用文件对话框并返回所选择的文件;使用文件类File创建文件对象、获取或设置文件对象的属性;使用java.io包中的字节流类(InputStream类和OutputStream类)、字符流类(Reader类和Writer类)顺序读写文本文件和二进制文件的方法;使用RandomAccessFile类随机读写文件的方法;使用Runtime类调用其他可执行文件的方法。通过本章的学习应能胜任与文件有关的编程工作。Java以完善的网络功能而著称,本章的主要内容是介绍Java网络编程的基本知识。Java的网络操作功能主要包括在包中,进行网络编程时一般都要导入包。学习本章应掌握: 了解URL类和IP地址的基本知识。 掌握使用URL类和URLConnection类读取网络资源的方法。 掌握使用AppletContext接口的showDocument方法显示网页 的方法。 理解Socket类和ServerSocket类,理解Socket通讯基本概 念,掌握使用Socket类和ServerSocket类分别编写用户端 和服务器端通讯程序的方法。,本章学习目标,11.1 Java的网络功能,Java的网络功能十分完善,并以网络语言而著称,例如在获取网上的各种资源、实时通讯、文件传输等方面都有广泛的应用。本章介绍与网络编程有关的一些类库及其应用。 Java的网络操作功能主要包括在包中,该包中包含了访问各种标准网络协议的类库。 Java支持用URL标识访问网络资源,利用URL标识能够访问http,file,ftp等多种网络协议的网络资源,获取远程计算机上的资源。 Java也支持Socket,Socket是基于稳定连接基础上的流传输数据的通讯方式,是实现客户/服务器(Client/Server)模式应用程序的主要手段,聊天室之类的程序就是其实例。 Java还支持基于非连接的通信方式,用于网络连接不可靠情况下的数据传输,这种方式称为Datagram。本书介绍URL方式和Socket方式的网络编程,并给出实例。,11.2 使用URL类,11.2.1 URL基础知识 每一台连接在Internet上的计算机都有称为IP(Internet Protocol)地址的唯一的标识,一台计算机在Internet上的标识是惟一的,一个IP地址用4个字节共32位二进制数组成,例如 3 这里有用圆点隔开的4个数字,每个数字允许的取值为0到255。这些数字是晦涩难记的,为了便于记忆和使用,可以把它等价为一个网络地址或域名,例如 就等价域上述的“3”,显然域名比IP地址方便得多,网络上有专门的域名服务器(DNS)把域名翻译成IP地址。,11.2 使用URL类,用IP地址标识了网络上的计算机以后,剩下的问题是任何标识一台计算机中的资源(这里所说的资源除了文件以外,也包括打印机等网络设备),这就要用到URL(Uniform Resource Locator统一资源定位器)。URL由5部分组成: 传输协议:/:端口号/文件路径和文件名#引用 其中: 传输协议 传输协议有http,ftp,file等多种,其后紧跟“:/”,如果省略了传输协议,默认为http。 主机名 主机名是指资源所在的计算机,可以用IP地址表示,也可以用计算机的域名,例如如下的写法(包括了传输协议)都是正确的 3,11.2 使用URL类,端口号 一台计算机可能有多种服务,端口号是用来区别不同服务的,每一种服务有一个端口号,取值范围为0到65535。端口号的前面用冒号标识,如果省略了端口号,就使用默认的端口号,对于http传输协议是80。 文件路径和文件名 必须给出完整的路径和文件名,注意这里使用的是正斜杠“/”而不是反斜杠“”。在http协议中,如果省略了路径和文件名,就使用默认的文件名“index.html”。 引用 用于表示资源内部的某个引用。 在URL的5个部分中只有主机名是不能省略的。以下是一些常见的URL样式: :80 :80/index.html 3 3:80,11.2 使用URL类,11.2.3 URL类 URL类用于创建和操作一个URL对象,表11-1给出了URL类的最常用的构造方法,表11-2给出了URL类的常用方法。 表11-1 URL类最常用的构造方法,11.2 使用URL类,实例 用openStream读URL文件 创建URL对象时如果参数有错误,就会产生MalformedURLException异常,程序必须捕获此异常并加以处理。 表11-2 URL类的常用方法,11.3 URLConnection类,用URLConnection类也能读取网络上的文件。URLConnection类是基于http协议的,其方法只能用于http协议,URLConnection类的特点是可以在传输数据之前探测远程对象的属性。URLConnection类的构造方法只有一种格式如表11-3所示,URLConnection类的常用方法列于表11-4中。 表11-3 URLConnection类的构造方法,11.3 URLConnection类,表11-4 URLConnection类的常用方法 下面给出使用URLConnection类的实例。 实例 使用URLConnection类读URL文件,11.4 Java显示网页的方法,11.4.1 AppletContext接口的showDocument方法 java.applet包实现了AppletContext接口,该接口的showDocument方法能够显示URL路径中的文件,表11-5列出了与此有关的方法。 表11-5 与showDocument有关的方法 11.4.2 在Java程序中显示网页 实例 用showDocument显示网页内容,11.5 Socket通讯,11.5.1 Socket通讯基础知识 Socket是在建立稳定连接基础上的客户/服务器(C/S)通讯模式。Socket一词的本意是插座,通常译为“套接字”,双向通讯的每一端都称为一个套接字,利用Socket可以方便地编写双向传递数据的程序。 在Java中服务器端套接字用ServerSocket类,客户端套接字使用的是Socket类,依此来区别服务器端和客户端,正因为此,当两台计算机进行双向通讯时,每一台计算机都必须同时使用ServerSocket和Socket。 1ServerSocket类 ServerSocket类的构造方法列于表11-6中。,11.5 Socket通讯,表11-6 ServerSocket类的构造方法,ServerSocket类的实例方法列于表11-7中。 表11-7 ServerSocket类的常用实例方法,11.5 Socket通讯,2Socket类 表11-8列出了Socket类的构造方法,表11-9列出了Socket类的常用实例方法。 表11-8 Socket类的常用构造方法,11.5 Socket通讯,表11-9 Socket类的常用实例方法 要实现客户/服务器(C/S)通讯,必须编制服务器端程序和客户端程序,以下分别给出这两个程序,最后一块使用。,11.5 Socket通讯,11.5.2 Socket通讯实例服务器端 实例 Socket通讯实例服务器端程序 11.5.3 Socket通讯实例客户端 实例 Socket通讯实例客户端程序 11.5.4 Socket通讯实例的使用 本节说明Socket通讯的具体用法,方法是在同一台计算机上运行服务器端程序和客户端程序,打开两个DOS窗口,分别以服务器端程序和客户端程序所在的目录为当前目录。,11.5 Socket通讯,先在服务器窗口中输入命令 E:java1104java myServer 立即出现如下的信息: 使用端口号5678 然后在客户端窗口中输入命令 E:java1105java myClient 立即显示信息 已与服务器建立连接! 同时在服务器窗口中显示信息 已与客户端建立连接! 接着无论在服务器端或客户端输入信息,都会在对方显示信息,直到有一方输入“再见”或“bey”,双方就都退出程序回到DOS提示符。这些过程如图11-4和图11-5所示。,11.5 Socket通讯,图11-4 服务器端窗口,图11-5 客户端窗口,11.6 本章小结,本章学习了Java网络编程的基础知识,通过学习本章的内容应当学会URL类和IP地址的基本概念;学会在Java程序中读取网络文件的方法;掌握由Java程序调用网页的方法;以及编写基于C/S模式的客户与服务器间通讯程序的方法。, Java以完善的网络功能而著称,本章的主要内容是介绍Java网络编程的基本知识。Java的网络操作功能主要包括在包中,进行网络编程时一般都要导入包。学习本章应掌握:了解URL类和IP地址的基本知识。掌握使用URL类和URLConnection类读取网络资源的方法。掌握使用AppletContext接口的showDocument方法显示网页 的方法。理解Socket类和ServerSocket类,理解Socket通讯基本概 念,掌握使用Socket类和ServerSocket类分别编写用户端 和服务器端通讯程序的方法。本章学习目标11.1 Java的网络功能 Java的网络功能十分完善,并以网络语言而著称,例如在获取网上的各种资源、实时通讯、文件传输等方面都有广泛的应用。本章介绍与网络编程有关的一些类库及其应用。 Java的网络操作功能主要包括在包中,该包中包含了访问各种标准网络协议的类库。 Java支持用URL标识访问网络资源,利用URL标识能够访问http,file,ftp等多种网络协议的网络资源,获取远程计算机上的资源。Java也支持Socket,Socket是基于稳定连接基础上的流传输数据的通讯方式,是实现客户/服务器(Client/Server)模式应用程序的主要手段,聊天室之类的程序就是其实例。 Java还支持基于非连接的通信方式,用于网络连接不可靠情况下的数据传输,这种方式称为Datagram。本书介绍URL方式和Socket方式的网络编程,并给出实例。 11.2 使用URL类11.2.1 URL基础知识 每一台连接在Internet上的计算机都有称为IP(Internet Protocol)地址的唯一的标识,一台计算机在Internet上的标识是惟一的,一个IP地址用4个字节共32位二进制数组成,例如 3 这里有用圆点隔开的4个数字,每个数字允许的取值为0到255。这些数字是晦涩难记的,为了便于记忆和使用,可以把它等价为一个网络地址或域名,例如 就等价域上述的“3”,显然域名比IP地址方便得多,网络上有专门的域名服务器(DNS)把域名翻译成IP地址。 11.2 使用URL类 用IP地址标识了网络上的计算机以后,剩下的问题是任何标识一台计算机中的资源(这里所说的资源除了文件以外,也包括打印机等网络设备),这就要用到URL(Uniform Resource Locator统一资源定位器)。URL由5部分组成:传输协议:/:端口号/文件路径和文件名#引用 其中: 传输协议 传输协议有http,ftp,file等多种,其后紧跟“:/”,如果省略了传输协议,默认为http。 主机名 主机名是指资源所在的计算机,可以用IP地址表示,也可以用计算机的域名,例如如下的写法(包括了传输协议)都是正确的 3 11.2 使用URL类 端口号 一台计算机可能有多种服务,端口号是用来区别不同服务的,每一种服务有一个端口号,取值范围为0到65535。端口号的前面用冒号标识,如果省略了端口号,就使用默认的端口号,对于http传输协议是80。 文件路径和文件名 必须给出完整的路径和文件名,注意这里使用的是正斜杠“/”而不是反斜杠“”。在http协议中,如果省略了路径和文件名,就使用默认的文件名“index.html”。 引用 用于表示资源内部的某个引用。 在URL的5个部分中只有主机名是不能省略的。以下是一些常见的URL样式: :80 :80/index.html 3 3:80 11.2 使用URL类11.2.3 URL类 URL类用于创建和操作一个URL对象,表11-1给出了URL类的最常用的构造方法,表11-2给出了URL类的常用方法。 表11-1 URL类最常用的构造方法 11.2 使用URL类 实例 用openStream读URL文件创建URL对象时如果参数有错误,就会产生MalformedURLException异常,程序必须
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:大学JAVA程序设计实例教程-毕广吉-课件PPT
链接地址:https://www.renrendoc.com/p-21836495.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!