第十章文件与设备_第1页
第十章文件与设备_第2页
第十章文件与设备_第3页
第十章文件与设备_第4页
第十章文件与设备_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、05/06第二学期第二学期 第十二章第十二章 文件与设备文件与设备05/06第二学期第二学期12.1 12.1 概述概述l程序离不开数据,有效组织数据输入是设计和编写程序的基本要求。程序离不开数据,有效组织数据输入是设计和编写程序的基本要求。l从键盘输入数据和向屏幕输出数据,适用于数据量比较小的情况,从键盘输入数据和向屏幕输出数据,适用于数据量比较小的情况,不能与其它软件或程序交换数据信息。不能与其它软件或程序交换数据信息。l从文件输入输出数据,适用于数据量比较大的情况,便于同其它软从文件输入输出数据,适用于数据量比较大的情况,便于同其它软件或程序交换数据信息。件或程序交换数据信息。l使用键盘

2、屏幕组织数据,程序示例使用键盘屏幕组织数据,程序示例。l使用文件形式组织数据,程序示例使用文件形式组织数据,程序示例。l复习:程序设计中的四个重要方面复习:程序设计中的四个重要方面数据的组织、数据的传递、程序的优化和数据的保存数据的组织、数据的传递、程序的优化和数据的保存12.1 概述第十二章第十二章 文件与设备文件与设备05/06第二学期第二学期12.1 12.1 概述概述/ /示例示例1 1l程序离不开数据,有效组织数据输入是设计和编写程序的基本要求。程序离不开数据,有效组织数据输入是设计和编写程序的基本要求。l从键盘输入数据和向屏幕输出数据,适用于数据量比较小的情况,从键盘输入数据和向屏

3、幕输出数据,适用于数据量比较小的情况,不能与其它软件或程序交换数据信息。不能与其它软件或程序交换数据信息。l从文件输入输出数据,适用于数据量比较大的情况,便于同其它软从文件输入输出数据,适用于数据量比较大的情况,便于同其它软件或程序交换数据信息。件或程序交换数据信息。l使用键盘屏幕组织数据,程序示例使用键盘屏幕组织数据,程序示例。l使用文件形式组织数据,程序示例使用文件形式组织数据,程序示例。12.1 概述第十二章第十二章 文件与设备文件与设备! !使用键盘屏幕组织数据使用键盘屏幕组织数据 PROGRAM exam1PROGRAM exam1 PARAMETER(n=5) PARAMETER(

4、n=5) REAL REAL :score(n),sum=0.0,avescore(n),sum=0.0,ave READ( READ(* *, ,* *) (score(I),I=1,n) (score(I),I=1,n)!score=(/78.5,55.0,85.5,90.0,68.5/)!score=(/78.5,55.0,85.5,90.0,68.5/) DO I=1,n DO I=1,n sum=sum+score(I) sum=sum+score(I) ENDDO ENDDO ave ave=sum/n=sum/n WRITE( WRITE(* *, ,* *) ) 学生成绩有:学

5、生成绩有: WRITE( WRITE(* *,100) (score(I),I=1,n),100) (score(I),I=1,n) WRITE( WRITE(* *,200) ave,200) ave 100 FORMAT(1X,F5.1, 100 FORMAT(1X,F5.1,:,),) 200 FORMAT(1X, 200 FORMAT(1X,平均分数平均分数:,F5.1),F5.1) END END 78.5,55.0,85.5,90.0,68.578.5,55.0,85.5,90.0,68.5 学生成绩有:学生成绩有: 78.5, 55.0, 85.5, 90.0, 78.5, 55

6、.0, 85.5, 90.0, 68.568.5 平均分数:平均分数: 75.575.5程序文件程序文件exam1.f90exam1.f90键盘键盘屏幕屏幕05/06第二学期第二学期12.1 12.1 概述概述/ /示例示例2 2l程序离不开数据,有效组织数据输入是设计和编写程序的基本要求。程序离不开数据,有效组织数据输入是设计和编写程序的基本要求。l从键盘输入数据和向屏幕输出数据,适用于数据量比较小的情况,从键盘输入数据和向屏幕输出数据,适用于数据量比较小的情况,不能与其它软件或程序交换数据信息。不能与其它软件或程序交换数据信息。l从文件输入输出数据,适用于数据量比较大的情况,便于同其它软从

7、文件输入输出数据,适用于数据量比较大的情况,便于同其它软件或程序交换数据信息。件或程序交换数据信息。l使用键盘屏幕组织数据,程序示例使用键盘屏幕组织数据,程序示例。l使用文件形式组织数据,程序示例使用文件形式组织数据,程序示例。12.1 概述第十二章第十二章 文件与设备文件与设备! !使用文件形式组织数据使用文件形式组织数据 PROGRAM exam2PROGRAM exam2 PARAMETER(max=100) PARAMETER(max=100) REAL REAL :score(max),n,sum=0.0,avescore(max),n,sum=0.0,ave OPEN(1,FILE

8、=exam2.in)OPEN(1,FILE=exam2.in) OPEN(2,FILE=exam2.out) OPEN(2,FILE=exam2.out) READ(1,READ(1,* *) n) n IF (n=max) THEN IF (n=max) THEN READ(1,READ(1,* *) (score(I),I=1,n) (score(I),I=1,n) DO I=1,n DO I=1,n sum=sum+score(I) sum=sum+score(I) ENDDO ENDDO ave ave=sum/n=sum/n WRITE(2,WRITE(2,* *) ) 学生成绩有:

9、学生成绩有: WRITE(2,100) (score(I),I=1,n) WRITE(2,100) (score(I),I=1,n) WRITE(2,200) ave WRITE(2,200) ave 100 FORMAT(1X,F5.1, 100 FORMAT(1X,F5.1,:,),) 200 FORMAT(1X, 200 FORMAT(1X,平均分数:平均分数:,F5.1),F5.1) ELSE ELSE PRINT PRINT* *,数据太多数据太多, ,超出空间要求。超出空间要求。 ENDIFENDIF ENDEND 5 5 78.5,55.0,85.5,90.0,68.5 78.5

10、,55.0,85.5,90.0,68.5 学生成绩有:学生成绩有: 78.5, 55.0, 85.5, 90.0, 78.5, 55.0, 85.5, 90.0, 68.568.5 平均分数:平均分数: 75.575.5程序文件程序文件exam2.f90exam2.f90输入数据文件输入数据文件exam2.inexam2.in 输出数据文件输出数据文件exam2.outexam2.out 05/06第二学期第二学期12.2 12.2 物理设备与逻辑设备物理设备与逻辑设备l物理设备物理设备: :计算机外部硬件设备,如:磁盘、磁带、键盘、显示器等。计算机外部硬件设备,如:磁盘、磁带、键盘、显示器等

11、。文件中数据被存储在某个外部设备上。文件中数据被存储在某个外部设备上。l逻辑设备逻辑设备: :在程序中使用的设备描述符号。在程序中使用的设备描述符号。l物理设备与逻辑设备之关系物理设备与逻辑设备之关系: :一个物理设备可定义多个逻辑设备,一一个物理设备可定义多个逻辑设备,一个逻辑设备可与多个不同物理设备连接。个逻辑设备可与多个不同物理设备连接。l外部文件外部文件: :在物理设备上建立的文件。设备描述符为一个整数,称为在物理设备上建立的文件。设备描述符为一个整数,称为设备号,通过设备号,通过OPENOPEN语句指定。语句指定。* *为标准设备号。为标准设备号。如图如图12-212-2所示所示。提

12、示:其它物理设备还有:工程扫描仪、数字化仪、数字化板、电分提示:其它物理设备还有:工程扫描仪、数字化仪、数字化板、电分机、激光照排机、三维扫描仪、三维测量仪、笔式和喷墨式绘图仪、机、激光照排机、三维扫描仪、三维测量仪、笔式和喷墨式绘图仪、磁鼓、光盘存储器阵列和各类传感器。每台外部设备都有相应的驱磁鼓、光盘存储器阵列和各类传感器。每台外部设备都有相应的驱动程序,外部设备通过接口和计算机相连。动程序,外部设备通过接口和计算机相连。12.2 物理设备与逻辑设备第十二章第十二章 文件与设备文件与设备05/06第二学期第二学期12.2 12.2 物理设备与逻辑设备物理设备与逻辑设备/ /示例示例1 1l

13、物理设备物理设备: :计算机外部硬件设备,如:磁盘、磁带、键盘、显示器等。计算机外部硬件设备,如:磁盘、磁带、键盘、显示器等。文件中数据被存储在某个外部设备上。文件中数据被存储在某个外部设备上。l逻辑设备逻辑设备: :在程序中使用的设备描述符号。在程序中使用的设备描述符号。l物理设备与逻辑设备之关系物理设备与逻辑设备之关系: :一个物理设备可定义多个逻辑设备,一一个物理设备可定义多个逻辑设备,一个逻辑设备可与多个不同物理设备连接。个逻辑设备可与多个不同物理设备连接。l外部文件外部文件: :在物理设备上建立的文件。设备描述符为一个整数,称为在物理设备上建立的文件。设备描述符为一个整数,称为设备号

14、,通过设备号,通过OPENOPEN语句指定。语句指定。* *、0 0、5 5、6 6为标准设备号。为标准设备号。 外部文件、逻辑设备、物理设备及其相互关系如图外部文件、逻辑设备、物理设备及其相互关系如图12-212-2所示所示。l内部文件内部文件: :在内存上建立的文件。设备描述符为字符型变量名、字符在内存上建立的文件。设备描述符为字符型变量名、字符型数组名、字符数组元素名、子串名。型数组名、字符数组元素名、子串名。 内部文件、逻辑设备、物理设备及其相互关系如图内部文件、逻辑设备、物理设备及其相互关系如图12-212-2所示所示。12.2 物理设备与逻辑设备第十二章第十二章 文件与设备文件与设

15、备内部文件名内部文件名, ,逻辑设备名逻辑设备名CHARACTERCHARACTER* *40 str1,str240 str1,str2str1=str1=125,250,375125,250,375READ(READ(str1str1, ,* *) i,j,k) i,j,kWRITE(WRITE(str2str2,100) i,j,k,i+j+k,100) i,j,k,i+j+k内部文件名内部文件名, ,逻辑设备名逻辑设备名str1=str1=125,250,375125,250,375str2=str2=i=125 j=250 k=375 i=125 j=250 k=375 i+j+k=

16、750i+j+k=750物理设备:内存储器物理设备:内存储器05/06第二学期第二学期12.2 12.2 物理设备与逻辑设备物理设备与逻辑设备/ /示例示例2 2l物理设备物理设备: :计算机外部硬件设备,如:磁盘、磁带、键盘、显示器等。计算机外部硬件设备,如:磁盘、磁带、键盘、显示器等。文件中数据被存储在某个外部设备上。文件中数据被存储在某个外部设备上。l逻辑设备逻辑设备: :在程序中使用的设备描述符号。在程序中使用的设备描述符号。l物理设备与逻辑设备之关系物理设备与逻辑设备之关系: :一个物理设备可定义多个逻辑设备,一一个物理设备可定义多个逻辑设备,一个逻辑设备可与多个不同物理设备连接。个

17、逻辑设备可与多个不同物理设备连接。l外部文件外部文件: :在物理设备上建立的文件。设备描述符为一个整数,称为在物理设备上建立的文件。设备描述符为一个整数,称为设备号,通过设备号,通过OPENOPEN语句指定。语句指定。* *、0 0、5 5、6 6为标准设备号。为标准设备号。 外部文件、逻辑设备、物理设备及其相互关系如图外部文件、逻辑设备、物理设备及其相互关系如图12-212-2所示所示。l内部文件内部文件: :在内存上建立的文件。设备描述符为字符型变量名、字符在内存上建立的文件。设备描述符为字符型变量名、字符型数组名、字符数组元素名、子串名。型数组名、字符数组元素名、子串名。 内部文件、逻辑

18、设备、物理设备及其相互关系如图内部文件、逻辑设备、物理设备及其相互关系如图12-212-2所示所示。12.2 物理设备与逻辑设备第十二章第十二章 文件与设备文件与设备PARAMETER(max=100)PARAMETER(max=100)REAL:score(max),N,sum=0.0,avREAL:score(max),N,sum=0.0,ave eOPEN(1,FILE=OPEN(1,FILE=exam2.inexam2.in) )OPEN(2,FILE=OPEN(2,FILE=exam2.outexam2.out) )READ(1,READ(1,* *) N) NREAD(1,READ

19、(1,* *) (score(I),I=1,N) (score(I),I=1,N)WRITE(2,WRITE(2,* *) ) 学生成绩有:学生成绩有:WRITE(2,100) (score(I),I=1,N)WRITE(2,100) (score(I),I=1,N)WRITE(2,200) aveWRITE(2,200) avePRINTPRINT* *,程序运行正常结束。程序运行正常结束。ENDEND外部文件名外部文件名, ,逻辑设备号逻辑设备号外部文件名外部文件名, ,逻辑设备号逻辑设备号物理设备:磁盘物理设备:磁盘 外部输入文件:外部输入文件:exam2.inexam2.in 5 5

20、78.5,55.0,85.5,90.0,68.5 78.5,55.0,85.5,90.0,68.5 外部输出文件:外部输出文件:exam2.outexam2.out 学生成绩有:学生成绩有: 78.5, 55.0, 85.5, 90.0, 78.5, 55.0, 85.5, 90.0, 68.568.5 平均分数:平均分数: 75.575.505/06第二学期第二学期12.3 12.3 文件文件/ /概述概述l文件文件: :存放在某种存储设备上的一组数据集合,由文件存放在某种存储设备上的一组数据集合,由文件名唯一标识。名唯一标识。l文件由若干记录组成。没有记录的文件为空文件。文件由若干记录组成

21、。没有记录的文件为空文件。l文件操作(读、写)以记录为单位。从文件中一次输入文件操作(读、写)以记录为单位。从文件中一次输入一个记录,向文件中一次输出一个记录。一个记录,向文件中一次输出一个记录。l通过通过READREAD和和PRINTPRINT语句从文件中输入输出数据。语句从文件中输入输出数据。l文件分外部文件和内部文件两种文件。文件分外部文件和内部文件两种文件。概述概述外部文件外部文件内部文件内部文件文件标识文件标识12.3 文件第十二章第十二章 文件与设备文件与设备05/06第二学期第二学期12.3 12.3 文件文件/ /外部文件外部文件l外部文件外部文件: :连接在计算机主机上的一类

22、设备连接在计算机主机上的一类设备( (如:键盘、显如:键盘、显示器、打印机等示器、打印机等) )或存放在外部存储器上的文件。或存放在外部存储器上的文件。l外部文件特点外部文件特点: :能长期保存大批量数据。能长期保存大批量数据。l在程序中使用外部文件,必须先用在程序中使用外部文件,必须先用OPENOPEN语句为外部文件指语句为外部文件指定设备号,建立外部文件与设备号之间的联系。如:定设备号,建立外部文件与设备号之间的联系。如: OPEN(1,FILE=exam2.in)OPEN(1,FILE=exam2.in) OPEN(2,FILE=exam2.out) OPEN(2,FILE=exam2.

23、out) READ(1, READ(1,* *) (score(I),I=1,N) (score(I),I=1,N) WRITE(2, WRITE(2,* *) ) 学生成绩有:学生成绩有: (示例示例)12.3 文件第十二章第十二章 文件与设备文件与设备概述概述外部文件外部文件内部文件内部文件文件标识文件标识05/06第二学期第二学期12.3 12.3 文件文件/ /内部文件内部文件l内部文件内部文件: :存放在内存储器上的文件。存放在内存储器上的文件。l内部文件特点内部文件特点: :保存小批量数据,不能长期保存。保存小批量数据,不能长期保存。l内部文件作用内部文件作用: :一般用于少量二进

24、制数据与字符型数据相一般用于少量二进制数据与字符型数据相互转换,以及字符串和合并或截取。如:互转换,以及字符串和合并或截取。如: PROGRAM exam4PROGRAM exam4 CHARACTER CHARACTER* *40 str1,str240 str1,str2 str1=125,250,375 str1=125,250,375 READ(str1, READ(str1,* *) i,j,k) i,j,k WRITE(str2,100) i,j,k,i+j+k WRITE(str2,100) i,j,k,i+j+k100 FORMAT(i=,I3, j=,I3, k=,I3, i

25、+j+k=,I3)100 FORMAT(i=,I3, j=,I3, k=,I3, i+j+k=,I3) PRINT PRINT* *,i,j,k,i,j,k PRINT PRINT* *,str2,str2 END END12.3 文件第十二章第十二章 文件与设备文件与设备概述概述外部文件外部文件内部文件内部文件文件标识文件标识05/06第二学期第二学期12.3 12.3 文件文件/ /文件标识文件标识l每个文件有一个唯一的文件标识,用于文件的识别和存取。每个文件有一个唯一的文件标识,用于文件的识别和存取。l外部文件标识为文件名,符合外部文件标识为文件名,符合windowswindows命名规

26、则。命名规则。l内部文件标识为字符型变量名、字符型数组名、字符型数内部文件标识为字符型变量名、字符型数组名、字符型数组元素名、字符子串名组元素名、字符子串名。 PROGRAM exam4PROGRAM exam4 CHARACTER CHARACTER* *40 str1,str240 str1,str2 str1=125,250,375 str1=125,250,375 READ(str1, READ(str1,* *) i,j,k) i,j,k WRITE(str2,100) i,j,k,i+j+k WRITE(str2,100) i,j,k,i+j+k100 FORMAT(i=,I3,

27、j=,I3, k=,I3, i+j+k=,I3)100 FORMAT(i=,I3, j=,I3, k=,I3, i+j+k=,I3) PRINT PRINT* *,i,j,k,i,j,k PRINT PRINT* *,str2,str2 END END12.3 文件第十二章第十二章 文件与设备文件与设备概述概述外部文件外部文件内部文件内部文件文件标识文件标识05/06第二学期第二学期12.3 12.3 文件文件/ /外部文件外部文件/ /示例示例l外部文件外部文件: :连接在计算机主机上的一类设备连接在计算机主机上的一类设备( (如:键盘、显如:键盘、显示器、打印机等示器、打印机等) )或存放

28、在外部存储器上的文件。或存放在外部存储器上的文件。l外部文件特点外部文件特点: :能长期保存大批量数据。能长期保存大批量数据。l在程序中使用外部文件,必须先用在程序中使用外部文件,必须先用OPENOPEN语句为外部文件指语句为外部文件指定设备号,建立外部文件与设备号之间的联系。如:定设备号,建立外部文件与设备号之间的联系。如: OPEN(1,FILE=exam2.in)OPEN(1,FILE=exam2.in) OPEN(2,FILE=exam2.out) OPEN(2,FILE=exam2.out) READ(1, READ(1,* *) (score(I),I=1,N) (score(I)

29、,I=1,N) WRITE(2, WRITE(2,* *) ) 学生成绩有:学生成绩有: (示例示例)12.3 文件第十二章第十二章 文件与设备文件与设备PROGRAM exam3PROGRAM exam3 INTEGER fac INTEGER fac ! !输出数据至显示器输出数据至显示器, ,设备号可以是设备号可以是* *或或6 6 WRITE( WRITE(* *, ,( (输入一个整数输入一个整数N N:) )!WRITE(6,!WRITE(6,* *) ) 输入一整数输入一整数N N: ! !从键盘输入数据从键盘输入数据, ,设备号可以是设备号可以是* *或或5 5 READ( R

30、EAD(* *, ,* *) N ) N ! !或者或者READ(5,READ(5,* *) N) N ! !使用使用OPENOPEN语句打开一个外部文件语句打开一个外部文件, ,设备号为设备号为1 1 OPEN(UNIT=1,FILE= OPEN(UNIT=1,FILE=factor.datfactor.dat,STATUS,STATUS=NEW)=NEW) fac fac=1=1 DO I=1,N DO I=1,N fac=fac fac=fac* *I I ! !向设备号为向设备号为1 1的外部文件输出数据的外部文件输出数据, ,有格式输出有格式输出 WRITE(1,WRITE(1,(I

31、3,(I3,!=!=,I7),I7) I,fac) I,fac ENDDO ENDDO ! !关闭设备号为关闭设备号为1 1的逻辑设备的逻辑设备 CLOSE(1)CLOSE(1) ! !向显示器输出数据向显示器输出数据 WRITE(6,WRITE(6,* *) ) 程序运行结束。程序运行结束。ENDEND概述概述外部文件外部文件内部文件内部文件文件标识文件标识05/06第二学期第二学期12.4 12.4 外部文件分类外部文件分类/ /概述概述l外部文件也称磁盘数据文件,简称文件。外部文件也称磁盘数据文件,简称文件。l有两种存储格式和两种存取方式有两种存储格式和两种存取方式u顺序存取顺序存取方式

32、方式。u直接存取直接存取方式方式。u文本存储格式。文本存储格式。u二进制存储格式。二进制存储格式。u提示:提示:文本格式文件:源程序文件、文本格式文件:源程序文件、.txt.txt文件及所有可以文件及所有可以用普通文本编辑器读取编辑的文件(用普通文本编辑器读取编辑的文件(.scr.dxf.scr.dxf) )二进制格式文件二进制格式文件: :需要专门程序读取的文件需要专门程序读取的文件(.psd.tiff.jpg.gif.bmp.dwg.psd.tiff.jpg.gif.bmp.dwg) )概述概述存储格式存储格式存取方式存取方式文件定位文件定位12.4 外部文件分类第十二章第十二章 文件与设

33、备文件与设备05/06第二学期第二学期12.4 12.4 外部文件分类外部文件分类/ /存储格式存储格式l存储格式是指文件中数据的存储规则和组织结构。存储格式是指文件中数据的存储规则和组织结构。l文本存储格式:又分为文本存储格式:又分为有格式、无格式。有格式、无格式。 。l有格式存储格式:有格式存储格式:文件中数据以字符形式文件中数据以字符形式(ASCII(ASCII码码) )存放存放, ,以回车符以回车符(CR)(CR)和换行符和换行符(LF)(LF)作为字符行的结束标志。在作为字符行的结束标志。在OPENOPEN语句中用语句中用FORMFORM选项指定选项指定FORMATTEDFORMAT

34、TED,可缺省。,可缺省。OPEN(UNIT=1,FILE=exam2.in,FORM=FORMATTED)OPEN(UNIT=1,FILE=exam2.in,FORM=FORMATTED)OPEN(UNIT=2,FILE=exam2.out)OPEN(UNIT=2,FILE=exam2.out)l无格式存储格式:无格式存储格式:文件中数据以二进制形式存放。在文件中数据以二进制形式存放。在OPENOPEN语句中用语句中用FORMFORM选项指定选项指定UNFORMATTEDUNFORMATTED。OPEN(UNIT=1,FILE=exam2.in,FORM=UNFORMATTED)OPEN(U

35、NIT=1,FILE=exam2.in,FORM=UNFORMATTED)OPEN(UNIT=2,FILE=exam2.out,FORM=UNFORMATTED)OPEN(UNIT=2,FILE=exam2.out,FORM=UNFORMATTED)l二进制存储格式:二进制存储格式:文件中数据以真正的二进制编码形式文件中数据以真正的二进制编码形式( (在内存的存储形式在内存的存储形式) )存放。在存放。在OPENOPEN语句中用语句中用FORMFORM选项指定选项指定BINARYBINARY。OPEN(UNIT=1,FILE=exam2.in,FORM=BINARY)OPEN(UNIT=1,F

36、ILE=exam2.in,FORM=BINARY)OPEN(UNIT=2,FILE=exam2.out,FORM=BINARY)OPEN(UNIT=2,FILE=exam2.out,FORM=BINARY)12.4 外部文件分类第十二章第十二章 文件与设备文件与设备概述概述存储格式存储格式存取方式存取方式文件定位文件定位05/06第二学期第二学期12.4 12.4 外部文件分类外部文件分类/ /存取方式存取方式l存取方式是指对文件中数据读写方式存取方式是指对文件中数据读写方式, ,也称文件访问方式。也称文件访问方式。l有两种存取方式:有两种存取方式:顺序存取和直接存取。顺序存取和直接存取。l顺

37、序存取文件记录长度可不同顺序存取文件记录长度可不同, ,直接存取文件记录长度相同。直接存取文件记录长度相同。l顺序存取方式:顺序存取方式:在进行存取操作时只能从第在进行存取操作时只能从第1 1个记录开始按个记录开始按存储顺序依次进行存储顺序依次进行, ,即在程序中要读写第即在程序中要读写第N N个数据时个数据时, ,必须先必须先读写前面的读写前面的N-1N-1个数据个数据, ,读写时可使用读写时可使用REWINDREWIND或或BACKSPACEBACKSPACE语语句改变文件指针位置句改变文件指针位置( (读写位置读写位置) )。在。在OPENOPEN语句中用语句中用ACCESSACCESS

38、选选项指定项指定SEQUENTIALSEQUENTIAL,对有格式文件可缺省。,对有格式文件可缺省。 OPEN(UNIT=1,FILE=exam2.in,ACCESS=SEQUENTIAL)OPEN(UNIT=1,FILE=exam2.in,ACCESS=SEQUENTIAL) OPEN(UNIT=2,FILE=exam2.out) OPEN(UNIT=2,FILE=exam2.out)l直接存取方式:直接存取方式:在进行存取操作时可以读写任意一个记录在进行存取操作时可以读写任意一个记录( (数据数据),),也称随机存取方式也称随机存取方式。 OPEN(UNIT=1,FILE=exam2.in

39、,ACCESS=DIRECT,RECL=4OPEN(UNIT=1,FILE=exam2.in,ACCESS=DIRECT,RECL=40)0) OPEN(UNIT=2,FILE=exam2.out,ACCESS=DIRECT,RECL=OPEN(UNIT=2,FILE=exam2.out,ACCESS=DIRECT,RECL=40)40)12.4 外部文件分类第十二章第十二章 文件与设备文件与设备概述概述存储格式存储格式存取方式存取方式文件定位文件定位05/06第二学期第二学期12.4 12.4 外部文件分类外部文件分类/ /文件定位文件定位l每一个文件都有一个隐含的指针每一个文件都有一个隐含

40、的指针, ,称为文件指针称为文件指针, ,文件指针指向文文件指针指向文件中的一个记录件中的一个记录, ,来控制文件的来控制文件的当前读写位置。当前读写位置。l文件打开后文件打开后, ,文件指针指向第一文件指针指向第一个记录。个记录。l文件指针指向的记录称为当前记文件指针指向的记录称为当前记录。文件指针指向第一个记录位录。文件指针指向第一个记录位置置, ,称为文件的起始位置称为文件的起始位置, ,文件指文件指针指向最后一个记录位置针指向最后一个记录位置, ,称为称为文件的结束位置。文件的结束位置。l对于顺序文件对于顺序文件, ,在读写前在读写前, ,要对文要对文件指针进行定位件指针进行定位, ,

41、对于直接文件对于直接文件, ,在读写过程中在读写过程中, ,要对文件指针进要对文件指针进行定位。行定位。l在文件数据的读写过程中在文件数据的读写过程中, ,只对只对文件指针指向的当前记录进行读文件指针指向的当前记录进行读写写( (存取)。存取)。12.4 外部文件分类第十二章第十二章 文件与设备文件与设备数据文件数据文件文件指针文件指针记录记录1 1记录记录2 2 记录记录i i 记录记录n n概述概述存储格式存储格式存取方式存取方式文件定位文件定位05/06第二学期第二学期12.5 12.5 文件基本操作文件基本操作/ /文件打开文件打开l在读写文件数据前,需通过在读写文件数据前,需通过OP

42、ENOPEN语句将文件打开。建立逻语句将文件打开。建立逻辑设备符辑设备符( (文件编号文件编号) )与磁盘上的外部文件之间的关系。与磁盘上的外部文件之间的关系。l一般格式:一般格式: OPEN(OPEN(UNIT=UNIT=,FILE=,FILE=,ACCESS=,ACCESS= ,FORM= ,FORM=,RECL=,RECL=,ERR=,ERR= 文件打开文件打开文件关闭文件关闭文件结束文件结束文件输入文件输入文件输出文件输出文件查询文件查询指针反绕指针反绕指针回退指针回退12.5 文件基本操作第十二章第十二章 文件与设备文件与设备05/06第二学期第二学期12.5 12.5 文件基本操作

43、文件基本操作/ /文件关闭文件关闭l文件读写操作结束后,可通过文件读写操作结束后,可通过CLOSECLOSE语句将文件关闭。取消语句将文件关闭。取消逻辑设备符逻辑设备符( (文件编号文件编号) )与磁盘上的外部文件之间的关系。与磁盘上的外部文件之间的关系。CLOSECLOSE语句可缺省。语句可缺省。l一般格式:一般格式: CLOSE(CLOSE(Unit=Unit= ,ERR=,ERR=) 12.5 文件基本操作第十二章第十二章 文件与设备文件与设备文件打开文件打开文件关闭文件关闭文件结束文件结束文件输入文件输入文件输出文件输出文件查询文件查询指针反绕指针反绕指针回退指针回退05/06第二学期

44、第二学期12.5 12.5 文件基本操作文件基本操作/ /文件结束文件结束l文件在操作过程中文件在操作过程中, ,可强制在文件内当前记录位置后置文件可强制在文件内当前记录位置后置文件结束标志。使用结束标志。使用ENDFILEENDFILE语句可强制设置文件结束标志语句可强制设置文件结束标志, ,文文件结束标志后的记录被清除。件结束标志后的记录被清除。l一般格式:一般格式: ENDFILEENDFILE (UNIT=(UNIT= ,ERR=,ERR= 12.5 文件基本操作第十二章第十二章 文件与设备文件与设备文件打开文件打开文件关闭文件关闭文件结束文件结束文件输入文件输入文件输出文件输出文件查

45、询文件查询指针反绕指针反绕指针回退指针回退05/06第二学期第二学期12.5 12.5 文件基本操作文件基本操作/ /文件输入文件输入l文件打开后文件打开后, ,从文件输入数据。使用从文件输入数据。使用READREAD语句完成数据输入。语句完成数据输入。l一般格式:一般格式: READREAD(UNIT=(UNIT=,FMT=,FMT= ,END=,END= , ,ERR=ERR= ,REC=,REC= ) 12.5 文件基本操作第十二章第十二章 文件与设备文件与设备文件打开文件打开文件关闭文件关闭文件结束文件结束文件输入文件输入文件输出文件输出文件查询文件查询指针反绕指针反绕指针回退指针回退

46、05/06第二学期第二学期12.5 12.5 文件基本操作文件基本操作/ /文件输出文件输出l文件打开后文件打开后, ,向文件输出数据。使用向文件输出数据。使用WRITEWRITE语句完成数据输出。语句完成数据输出。l一般格式:一般格式:WRITE(WRITE(UNIT=UNIT=,FMT=,FMT= NML=NML=,ADVANCE=,ADVANCE=,ERR=ERR= ,IOSTAT=IO,IOSTAT=,REC=REC= ) 12.5 文件基本操作第十二章第十二章 文件与设备文件与设备文件打开文件打开文件关闭文件关闭文件结束文件结束文件输入文件输入文件输出文件输出文件查询文件查询指针反绕

47、指针反绕指针回退指针回退05/06第二学期第二学期12.5 12.5 文件基本操作文件基本操作/ /文件查询文件查询l文件打开后文件打开后, ,在文件的存取操作过程中有时要查询文件的有在文件的存取操作过程中有时要查询文件的有关状态和属性关状态和属性, ,以便决定某种操作。使用以便决定某种操作。使用INQUIREINQUIRE语句完成语句完成属性查询。属性查询。l一般格式:一般格式:INQUIRE(UNIT=INQUIRE(UNIT=unitunitFILE=FILE=filefileIOLENGTH=IOLENGTH=iolengthiolength ,ACCESS=,ACCESS=acces

48、saccess,SEQUENTIAL=,SEQUENTIAL=sequentialsequential,DIRECT=,DIRECT=directdirect ,FORM=,FORM=formform,FORMATTED=,FORMATTED=formattedformatted,UNFORMATTED=,UNFORMATTED=unformattedunformatted ,BINARY=,BINARY=binarybinary,ACTION=,ACTION=actionaction,MODE=,MODE=modemode,READ=,READ=readread,W,WRITE=RITE=w

49、ritewrite ,READWRITE=,READWRITE=readwritereadwrite,BLANK,BLANK= =blankblank,BLOCKSIZE=,BLOCKSIZE=blocksizeblocksize ,CARRIAGECONTROL=,CARRIAGECONTROL=carriagecontrolcarriagecontrol,DELIM,DELIM= =delimdelim,ERR,ERR= =errerr,EXIST=EXIST=existexist ,IOFOCUS=,IOFOCUS=iofocusiofocus,IOSTAT,IOSTAT= =iosta

50、tiostat,NAME,NAME= =namename,NAMED=,NAMED=namednamed ,RECL=,RECL=reclrecl,NEXTREC=,NEXTREC=nextrecnextrec,RECORDTYPE=recordtype,RECORDTYPE=recordtype ,NUMBER=,NUMBER=numbernumber,PAD=,PAD=padpad ,POSITION=,POSITION=positionposition,SHARE=,SHARE=shareshare,OPENED=,OPENED=openedopened) ) 12.5 文件基本操作第十

51、二章第十二章 文件与设备文件与设备文件打开文件打开文件关闭文件关闭文件结束文件结束文件输入文件输入文件输出文件输出文件查询文件查询指针反绕指针反绕指针回退指针回退05/06第二学期第二学期12.5 12.5 文件基本操作文件基本操作/ /指针反绕指针反绕l文件打开后文件打开后, ,在读写操作中有时要将当前文件指针位置指向在读写操作中有时要将当前文件指针位置指向文件起始位置文件起始位置( (称为反绕称为反绕, ,类似倒带操作类似倒带操作),),以便从起始位置以便从起始位置进行读写操作。使用进行读写操作。使用REWINDREWIND语句完成文件指针反绕操作。语句完成文件指针反绕操作。l一般格式:一

52、般格式:REWINDREWIND(Unit=(Unit=ERR=ERR=IOSTAT=IOSTAT=)12.5 文件基本操作第十二章第十二章 文件与设备文件与设备文件打开文件打开文件关闭文件关闭文件结束文件结束文件输入文件输入文件输出文件输出文件查询文件查询指针反绕指针反绕指针回退指针回退05/06第二学期第二学期12.5 12.5 文件基本操作文件基本操作/ /指针回退指针回退l文件打开后文件打开后, ,在文件的存取操作过程中有时要将当前文件指在文件的存取操作过程中有时要将当前文件指针位置向后回退一个记录位置。使用针位置向后回退一个记录位置。使用BACKSPACEBACKSPACE语句完成文

53、语句完成文件指针回退操作。件指针回退操作。l一般格式:一般格式:BACKSPACEBACKSPACE(Unit=(Unit=ERR=ERR=IOSTAT=IOSTAT=) 12.5 文件基本操作第十二章第十二章 文件与设备文件与设备文件打开文件打开文件关闭文件关闭文件结束文件结束文件输入文件输入文件输出文件输出文件查询文件查询指针反绕指针反绕指针回退指针回退05/06第二学期第二学期12.6 12.6 使用外部设备使用外部设备l外部设备:外部设备:键盘、显示器、终端、打印机、串行口、并行口等设备。键盘、显示器、终端、打印机、串行口、并行口等设备。l象使用外部文件一样使用这些外部设备。每一个外部

54、设备都有一个象使用外部文件一样使用这些外部设备。每一个外部设备都有一个设备名设备名, ,类似于文件名。类似于文件名。如表如表12-112-1所示所示。l下面给出一些使用外部设备的下面给出一些使用外部设备的OPENOPEN语句:语句: ! !连接一台打印机连接一台打印机, ,程序中可从打印机输出数据程序中可从打印机输出数据, ,设备号为设备号为1 1 OPEN(UNIT=1,FILE=PRN) OPEN(UNIT=1,FILE=PRN) ! !连接一个串行口连接一个串行口, ,程序中可从串行口输出数据程序中可从串行口输出数据, ,设备号为设备号为2 2 OPEN(UNIT=2,FILE=COM1

55、) OPEN(UNIT=2,FILE=COM1) ! !连接一个并行口连接一个并行口, ,程序中可从并行口输出数据程序中可从并行口输出数据, ,设备号为设备号为3 3 OPEN(UNIT=3,FILE=LPT1) OPEN(UNIT=3,FILE=LPT1) 12.6 使用外部设备第十二章第十二章 文件与设备文件与设备 设设 备备 名名 外部设备或部件外部设备或部件 CON Console(CON Console(终端、控制台、标准输出设备终端、控制台、标准输出设备) ) PRN Printer( PRN Printer(打印机打印机) ) COM1 Serial Port#1( COM1 S

56、erial Port#1(串行口串行口1)1) COM2 Serial Port#2( COM2 Serial Port#2(串行口串行口2)2) LPT1 Parallel Port#1( LPT1 Parallel Port#1(并行口并行口1)1) LPT2 Parallel Port#1( LPT2 Parallel Port#1(并行口并行口2)2) NUL NULL(NULL NUL NULL(NULL设备设备, ,忽略输入输出操作忽略输入输出操作) ) AUX Serial Port#1( AUX Serial Port#1(串行口串行口1)1) LINE1 Serial Por

57、t#1( LINE1 Serial Port#1(串行口串行口1)1) USER1 Standard Output( USER1 Standard Output(标准输出标准输出) ) ERR1 Standard error( ERR1 Standard error(标准错误信息标准错误信息) )05/06第二学期第二学期12.7 12.7 文件读写操作文件读写操作/ /有格式顺序文件有格式顺序文件l有格式顺序文件有格式顺序文件: :具有具有“FORMATTEDFORMATTED”和和“SEQUENTIALSEQUENTIAL”属性的文件属性的文件 。l有格式顺序文件可用任何文本编辑器或有格式

58、顺序文件可用任何文本编辑器或OPENOPEN、WRITEWRITE语句创建。属于可视化文件。语句创建。属于可视化文件。l有格式顺序文件是由若干文本行组成有格式顺序文件是由若干文本行组成, ,每个文本行是每个文本行是一个记录一个记录, ,记录由回车符记录由回车符(CR)(CR)和换行符和换行符(LF)(LF)结束结束, ,回回车符车符CR(ODH)CR(ODH)和换行符和换行符LF(OAH)LF(OAH)是记录的结束标志。是记录的结束标志。每个记录长度每个记录长度( (字节数字节数, ,每个字符占一个字节每个字符占一个字节) )可以不可以不同同, ,默认最大记录长度为默认最大记录长度为13213

59、2个字节个字节, ,可通过可通过RECLRECL选项选项指定最大记录长度。指定最大记录长度。l有格式顺序文件读写操作与键盘、显示器的读写操有格式顺序文件读写操作与键盘、显示器的读写操作类似作类似, ,不同的是需要用不同的是需要用OPENOPEN语句打开文件语句打开文件, ,指定设指定设备号备号, ,在在READREAD和和WRITEWRITE语句中指定设备号语句中指定设备号, ,而不是星号而不是星号“* *”。l程序示例程序示例。有格式顺序文件有格式顺序文件有格式直接文件有格式直接文件无格式顺序文件无格式顺序文件无格式直接文件无格式直接文件二进制顺序文件二进制顺序文件二进制直接文件二进制直接文件12.7 文件读写操作第十二章第十二章 文件与设备文件与设备05/06第二学期第二学期12.7 12.7 文件读写操作文件读写操作/ /有格式顺序文件有格式顺序文件/ /程序示例程序示例l有格式顺序文件有格式顺序文件: :具有具有“FORMATTEDFORMATTED”和和“SEQUENTIALSEQUENTIAL”属性的文件属性的文件 。l有格式顺序文件可用任何文本编辑器或有格式顺序文件可用任何文本编辑器或OPENOPEN、WRITEWRI

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论