第10章输入输出流精品PPT课件
合集下载
《C++程序设计》电子教案第10章 流类库与输入输出
C++中所有流都是相同的 , 但文件可以不同 。 中所有流都是相同的, 但文件可以不同。 中所有流都是相同的 使用流以后, 使用流以后 , 程序用流统一对各种计算机设备 和文件进行操作,使程序与设备、 和文件进行操作 , 使程序与设备 、 程序与文件 无关,从而提高了程序设计的通用性和灵活性。 无关 , 从而提高了程序设计的通用性和灵活性 。 也就是说, 也就是说 , 无论与流相联系的实际物理设备差 别有多大,流都采用相同的方式运行。 别有多大 , 流都采用相同的方式运行 。 这种机 制使得流可以跨越物理设备平台, 制使得流可以跨越物理设备平台 , 实现流的透 明运作,而与实际的物理设备无关。例如, 明运作 , 而与实际的物理设备无关 。 例如 , 往 显示器上输出字符和向磁盘文件或打印机输出 字符,尽管接受输出的物理设备不同, 字符 , 尽管接受输出的物理设备不同 , 但具体 操作过程是相同的。 操作过程是相同的。
返回本节
10.2 格式化 格式化I/O
10.2.1 10.2.2 10.2.3 10.2.4 ios类中的枚举常量 类中的枚举常量 使用ios成员函数 使用 成员函数 使用I/O操作符 使用 操作符 检测流操作的错误
返回首页
10.2.1 ios类中的枚举常量 类中的枚举常量
在根基类ios中定义有三个用户需要使用的枚举类型, 在根基类 中定义有三个用户需要使用的枚举类型,由 中定义有三个用户需要使用的枚举类型 于它们是在公用成员部分定义的, 于它们是在公用成员部分定义的,所以其中的每个枚举类 型常量在加上ios::前缀后都可以为本类成员函数和所有外 型常量在加上 前缀后都可以为本类成员函数和所有外 部函数访问。 部函数访问。 在三个枚举类型中有一个无名枚举类型, 在三个枚举类型中有一个无名枚举类型,其中定义的每个 枚举常量都是用于设置控制输入输出格式的标志使用的。 枚举常量都是用于设置控制输入输出格式的标志使用的。 该枚举类型定义如下: 该枚举类型定义如下: enum { skipws,left,right,internal,dec,oct,hex,sh owbase,showpoint, uppercase,showpos,scientific,fixed,unitbuf, stdio };
C语言入门经典(第四版)10-基本输入和输出操作
C入门经典(第4版) 入门经典( 10.4.2 转义序列
在printf()和wprintf()函数的格式控制字符串中可以包含空白字符.空白字 printf()和wprintf()函数的格式控制字符串中可以包含空白字符.空白字 符有换行符,回车符,换页符,空格和制表符.它们用以\ 符有换行符,回车符,换页符,空格和制表符.它们用以\开头的转义序列表 示.
C入门经典(第4版) 入门经典( 10.3.2 输入格式控制字符串
在scanf()或wscanf()函数中使用的格式控制字符串不完全类似于printf()中 scanf()或wscanf()函数中使用的格式控制字符串不完全类似于printf()中 的格式控制字符串.在格式控制字符串中添加一个或多个空白字符,如空格' ', 的格式控制字符串.在格式控制字符串中添加一个或多个空白字符,如空格' ', 制表符' t'或换行符'n',scanf()会忽略空白字符,直接读入输入中的下一个非空 制表符'\t'或换行符'n',scanf()会忽略空白字符,直接读入输入中的下一个非空 白字符.在格式控制字符串中只要出现一个空白字符,就会造成无数个连续的 空白字符被忽略.因此,可以在格式字符串内加入任意多个的空白字符,使输 入易于理解.注意,scanf()默认忽略空白字符,但使用%c,%[]或%n指定符 入易于理解.注意,scanf()默认忽略空白字符,但使用%c,%[]或%n指定符 读取数据时除外 .
C入门经典(要使用scanf()函数从键盘输入数据,使用printf()函数将数据输 前面章节主要使用scanf()函数从键盘输入数据,使用printf()函数将数据输 出到屏幕上.事实上,使用这些函数指定从哪里输入或输出到哪里去的方式没 有什么特别.因为scanf()函数可以从任何地方接收信息,只要这些信息是字符 有什么特别.因为scanf()函数可以从任何地方接收信息,只要这些信息是字符 流即可.同样,printf()函数也可以将数据输出到任何能接收字符流的地方去. 流即可.同样,printf()函数也可以将数据输出到任何能接收字符流的地方去. 这并不是巧合:C 这并不是巧合:C语言的标准输入输出函数都是独立于设备的,程序员不需要 考虑如何在特定设备上传入传出数据.C 考虑如何在特定设备上传入传出数据.C语言的库函数和操作系统会确保在特 定设备上的操作完全正常.
《输入输出设备》PPT课件
场扫描是控制垂直方向扫描,在荧光屏上最后一条水平线扫描结束 后,光栅垂直回归到第一条水平扫描线的起点,回归时亮点消失,又叫 “场消隐”或“垂直回归”。整个荧光屏上由一条条光栅组成的画面,叫 做一幅或一帧。
显然,扫描线越多,分辨率越高。图象也就越清晰。一般每帧有405线, 526线,625线,819线多种,我国电视每帧用625线。显示时只有一个光点在屏 幕上扫描,由于人眼的视觉暂留现象使看见的图象是连续的。
图形显示器通常配有键盘,光笔,数字化仪,鼠标器,CRT显示器和绘 图机等。下面简要介绍图形显示器的基本原理。
在原有的字符显示器上加一块显示图形的逻辑电路板,即可变成简易的 图形显示器;如果配上图形输入板和绘图机,则可构成一种廉价的小型图形处 理系统。
图像显示器
在数字图象处理中,数字图象显示器是最后也是最重要的环节,它可以让 人们通过视觉,更好地理解和解释图象的内容。
为了保证图象有较好的水平与垂直线性,象素长宽比例通常为4:3。 例 如 , 12 英 寸 彩 色 CRT 的 分 辨 率 为 640*480 个 象 素 ; 14 英 寸 显 示 800*600个象素;16英寸显示1024*768个象素都满足4:3的比例。此外, 某些专用的方形CRT显示分辨率为512*512或1024*1024,甚至4096*4096 个象素。
• 输出设备 1 显示器 2 打印机 针式打印机 激光打印机: 激光扫描技术、电摄影技术 喷墨打印机:“连续射流分解成滴” 3 绘图仪:平台式和鼓式 4 语音输出设备:扬声器、耳机 5 缩微胶卷输出设备
• 外存储设备 1 软盘 2 硬盘 内置硬盘 3 光盘:CD、DVD 4 磁带
盒式硬盘
• 数据通信设备 • 终端设备
图形显示器
图形显示器是用点,线(直线和曲线),面(平面和曲面)组合成要求的 平面或立体图形。同时可以作平移,比例变换,旋转,坐标变换,投影变换( 把三维图形变换为二维图形),
显然,扫描线越多,分辨率越高。图象也就越清晰。一般每帧有405线, 526线,625线,819线多种,我国电视每帧用625线。显示时只有一个光点在屏 幕上扫描,由于人眼的视觉暂留现象使看见的图象是连续的。
图形显示器通常配有键盘,光笔,数字化仪,鼠标器,CRT显示器和绘 图机等。下面简要介绍图形显示器的基本原理。
在原有的字符显示器上加一块显示图形的逻辑电路板,即可变成简易的 图形显示器;如果配上图形输入板和绘图机,则可构成一种廉价的小型图形处 理系统。
图像显示器
在数字图象处理中,数字图象显示器是最后也是最重要的环节,它可以让 人们通过视觉,更好地理解和解释图象的内容。
为了保证图象有较好的水平与垂直线性,象素长宽比例通常为4:3。 例 如 , 12 英 寸 彩 色 CRT 的 分 辨 率 为 640*480 个 象 素 ; 14 英 寸 显 示 800*600个象素;16英寸显示1024*768个象素都满足4:3的比例。此外, 某些专用的方形CRT显示分辨率为512*512或1024*1024,甚至4096*4096 个象素。
• 输出设备 1 显示器 2 打印机 针式打印机 激光打印机: 激光扫描技术、电摄影技术 喷墨打印机:“连续射流分解成滴” 3 绘图仪:平台式和鼓式 4 语音输出设备:扬声器、耳机 5 缩微胶卷输出设备
• 外存储设备 1 软盘 2 硬盘 内置硬盘 3 光盘:CD、DVD 4 磁带
盒式硬盘
• 数据通信设备 • 终端设备
图形显示器
图形显示器是用点,线(直线和曲线),面(平面和曲面)组合成要求的 平面或立体图形。同时可以作平移,比例变换,旋转,坐标变换,投影变换( 把三维图形变换为二维图形),
输入输出流.ppt
输入流——表示数据从某个载体或设备传送 到内存
输出流——表示数据从内存传送到某个载体 或设备
键盘 文件
输入流
输出流
内 存
显示器 文件
光笔....
打印机...
C++的输入输出流
在进行I/O操作时——
首先进行“打开”操作,使流和文件发生联系 建立联系后的文件才允许数据流入或流出 I/O结束后,使用“关闭”操作使文件与流断开联系。
dec:34
cout<<“hex:”<<hex<<a<<endl;
hex:22
cout<<“oct:”<<oct<<a<<endl;
oct:42
cout<<setfill(‘*’)<<setw(10)<<dec<<a<<endl;********34
}
用流对象的成员控制格式输出
说明: cout.width(n) cout.fill(c)
对象 含义 对应设备 对应的类
cin 标准输入流 键盘 istream_withassign
cout 标准输出流 显示器 ostream_withassign
cerr 或 clog
标准错误流
13.2 标准输出流
标准输出流——流向标准输出设备(显示器)的数据 cout流对象——在控制台(显示器)输出
用流插入运算符“<<”向cout输出数据. 如:
cout << “a=”<< a << endl; cout << 数据1 <<数据2 << 数据3;
电路与电子技术第10章-组合逻辑电路课件.ppt
33
第10章 门电路与组合逻辑电路
(1) 逻辑表达式 用与、或、非等运算和括号来描述逻辑函数的表达式
如: Y A(B C) D
输出变量: Y
输入变量: A、B、C
反变量: 字母上有非号, 如: D
原变量: 字母上没有非号, 如: A、B、C
34
第10章 门电路与组合逻辑电路
(2) 逻辑状态表
0•A=0 A•0=0 1•A=A
A•1 =A A•A=A
A• A 0
0+A=A
A+0=A
1+A=1
1=0
非 0=1
运 算
0=0
1=1
A A
A+1 =1 A+A =A
A A1 29
第10章 门电路与组合逻辑电路
3. 逻辑代数运算定律 交换律: A + B = B + A
A•B =B•A
结合律: ABC = (AB) C =A (BC)
T5
A、B 有一个为 0 或都为 0 时:
T1 发射结导通, T1 集电结和 T2 、T5 均截止 复合管 T3 、T4 导通,Y 为 1
21
第10章 门电路与组合逻辑电路
常用 TTL 集成与非门 74LS00
74LS00 有 4 个两输入与非门,完全相同
Y AB
A、B 为输入端 Y 为输出端 4 个与非门电源公共 第 14 脚接 + 5V 直流电源 第 7 脚接电源的地
(2) 配项法
应用 B B( A A)
[例] Y AB AC BC AB AC BC( A A) AB AC ABC ABC
AB(1 C ) AC(1 B) AB AC
第10章 门电路与组合逻辑电路
(1) 逻辑表达式 用与、或、非等运算和括号来描述逻辑函数的表达式
如: Y A(B C) D
输出变量: Y
输入变量: A、B、C
反变量: 字母上有非号, 如: D
原变量: 字母上没有非号, 如: A、B、C
34
第10章 门电路与组合逻辑电路
(2) 逻辑状态表
0•A=0 A•0=0 1•A=A
A•1 =A A•A=A
A• A 0
0+A=A
A+0=A
1+A=1
1=0
非 0=1
运 算
0=0
1=1
A A
A+1 =1 A+A =A
A A1 29
第10章 门电路与组合逻辑电路
3. 逻辑代数运算定律 交换律: A + B = B + A
A•B =B•A
结合律: ABC = (AB) C =A (BC)
T5
A、B 有一个为 0 或都为 0 时:
T1 发射结导通, T1 集电结和 T2 、T5 均截止 复合管 T3 、T4 导通,Y 为 1
21
第10章 门电路与组合逻辑电路
常用 TTL 集成与非门 74LS00
74LS00 有 4 个两输入与非门,完全相同
Y AB
A、B 为输入端 Y 为输出端 4 个与非门电源公共 第 14 脚接 + 5V 直流电源 第 7 脚接电源的地
(2) 配项法
应用 B B( A A)
[例] Y AB AC BC AB AC BC( A A) AB AC ABC ABC
AB(1 C ) AC(1 B) AB AC
输入输出流(IO流)PPT教学课件
{
File("C:\\1000","Example20_1.java");
File("c:\\1000");
System.out.println("文件Example20_1是可读的
吗:"+f1.canRead());
System.out.println("文件Example20_1的长度:"+f1.length());
2020/12/10
18
11.4 类和类
例子5: 例子6:
2020/12/10
19
11.5 使用文件对话框打开和保存文件
例子7:
2020/12/10
20
11.6 运行可执行文件
使用ng包中的Runtime类可以运行本 地计算机上的可执行文件。
例如:
Runtime ec; ec=Runtime.getRuntim(); ec.exec(String command); 例子8: 运行记事本
径
2020/12/10
5
11.1 File类
public getParent():获取文件的父目录
public isFile():判断文件是否是一个正常文件而 不是一个目录。
public boolean isDirectory():判断文件是否是 一个目录
public boolean isHidden():判断文件是否是隐 藏文件
处理I/O异常
I/Oexception,并try...catch try{} catch( I/Oexception e){}
2020/12/10
12
11.2 类
C语言第10章对文件的输入输出 ppt课件
程序中的输入输出都是通过操作系统进行 的 ➢“流”是一个传输通道,数据可以从运行 环境流入程序中,或从程序流至运行环境
PPT课件
11
10.1.1 什么是文件
➢从C程序的观点来看,无论程序一次读写 一个字符,或一行文字,或一个指定的数 据区,作为输入输出的各种文件或设备都 是统一以逻辑数据流的方式出现的。C语 言把文件看作是一个字符(或字节)的序 列。一个输入输出流就是一个字符流或字 节(内容为二进制数据)流。
PPT课件
20
10.1.3 文件的分类
ASCII形式
00110001 00110000 00110000 00110000 00110000
(1) (0) (0) (0) (0)
二进制形式
00000000 00000000 00100111 00010000
(10000)
PPT课件
21
10.1.4 文件缓冲区
的temp子目录下面
PPT课件
15
10.1.2 文件名
➢文件路径表示文文件件在名外部存储设备中的位 置。如:
D: \CC\temp\file1.dat 表示file1.dat文件存放在D盘中的CC目录下
的temp子目录下面
PPT课件
16
10.1.2 文件名
➢文件路径表示文命 识件名 符在规 的外则 命部遵 名存循 规储标 则设备中的位 置。如:
➢“文件”指存储在外部介质上数据的集合
一批数据是以文件的形式存放在外部介质上的 操作系统是以文件为单位对数据进行管理 想找存放在外部介质上的数据,先按文件名找
到所指定的文件,然后再从该文件读数据 要向外部介质上存储数据也必须先建立一个文
件(以文件名作为标志),才能向它输出数据
PPT课件
11
10.1.1 什么是文件
➢从C程序的观点来看,无论程序一次读写 一个字符,或一行文字,或一个指定的数 据区,作为输入输出的各种文件或设备都 是统一以逻辑数据流的方式出现的。C语 言把文件看作是一个字符(或字节)的序 列。一个输入输出流就是一个字符流或字 节(内容为二进制数据)流。
PPT课件
20
10.1.3 文件的分类
ASCII形式
00110001 00110000 00110000 00110000 00110000
(1) (0) (0) (0) (0)
二进制形式
00000000 00000000 00100111 00010000
(10000)
PPT课件
21
10.1.4 文件缓冲区
的temp子目录下面
PPT课件
15
10.1.2 文件名
➢文件路径表示文文件件在名外部存储设备中的位 置。如:
D: \CC\temp\file1.dat 表示file1.dat文件存放在D盘中的CC目录下
的temp子目录下面
PPT课件
16
10.1.2 文件名
➢文件路径表示文命 识件名 符在规 的外则 命部遵 名存循 规储标 则设备中的位 置。如:
➢“文件”指存储在外部介质上数据的集合
一批数据是以文件的形式存放在外部介质上的 操作系统是以文件为单位对数据进行管理 想找存放在外部介质上的数据,先按文件名找
到所指定的文件,然后再从该文件读数据 要向外部介质上存储数据也必须先建立一个文
件(以文件名作为标志),才能向它输出数据
Lecture08_文件管理与输入输出
A FileOutputStream is an output stream for writing data to a File. 常用构造方法如下:
3 文件字节流
示例:使用文件字节流实现文件的复制.
public static void copy(File src, File tar) { FileInputStream srcStream = null; FileOutputStream desStream = null; try { srcStream = new FileInputStream(src); desStream = new FileOutputStream(tar); int data; while((data = srcStream.read())!=-1) { desStream.write(data); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if(desStream!=null) { try { desStream.close(); } catch (IOException e) { e.printStackTrace(); } } if(srcStream!=null) { try { srcStream.close(); } catch (IOException e) { e.printStackTrace(); } } }
1 File类
与文件信息相关方法 long lastModified(),
返回此文件最后一次被修改的时间。 long length(),
返回由此文件的长度,字节为单位。
3 文件字节流
示例:使用文件字节流实现文件的复制.
public static void copy(File src, File tar) { FileInputStream srcStream = null; FileOutputStream desStream = null; try { srcStream = new FileInputStream(src); desStream = new FileOutputStream(tar); int data; while((data = srcStream.read())!=-1) { desStream.write(data); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if(desStream!=null) { try { desStream.close(); } catch (IOException e) { e.printStackTrace(); } } if(srcStream!=null) { try { srcStream.close(); } catch (IOException e) { e.printStackTrace(); } } }
1 File类
与文件信息相关方法 long lastModified(),
返回此文件最后一次被修改的时间。 long length(),
返回由此文件的长度,字节为单位。
Java程序的对外接口
10.1 向JAVA程序传递参数
10.1.1 Java主程序的入口——main()方法 10.1.2 如何在Java程序运行时传递参数 10.1.3 没有传递参数时的情况
10.1.1 JAVA主程序的入口——MAIN()方法
Java程序中出现最多的就是对象,而对象要做事情就要靠调用 它的方法。Java中的方法在被调用时是可以接收参数的,这 同样也适用于Java的主程序入口——main()方法。之前我们 所有例子中的main()方法都是这样定义的:
先来看看语法格式: System.out.print(); System.out.println(); System.out.write(); 这个输出的形式与前面讲的输入略有不同,多了两个方法——print()和println()。
这两个方法可谓是Java中最为神通广大的方法了,它们强大之处在于可以接收任 何类型的变量作为参数,输出它们的信息。 现在再回过头来看看write()方法,它只有两种形式: write(byte[] buf, int off, int len); write(int b);
第10章 JAVA程序的对外接口——输出/输入对象
10.1 向Java程序传递参数 10.2 基本输入输出——read()和print() 10.3 输入输出流与文件 10.4 文本文件的输入输出 10.5 文本字符流的I/O 10.6 bit(字节)流的I/O 10.7 具有缓冲区的输入输出 10.8 百里挑一——如何选择合适的I/O类 10.9 小结 10.10 习题
在Java的程序中呢,传进来的所有参数都以字符串的形式依次保存main()方法的字 符串数组参数当中。里面是一个个的字符串,字符串在数组中的顺序和运行Java 程序时输入的顺序一致。我们可以像在普通方法当中使用传入的参数一样使用这 个字符串数组中的内容。字符串数组与Java程序运行时输入的参数间对应关系可 以用下图来表示。
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10.2.3 关闭流
流都提供了关闭方法close(),尽管程序结束时会 自动关闭所有打开的流,但是当程序使用完流后, 显式地关闭任何打开的流仍是一个良好的习惯。如 果没有关闭那些被打开的流,那么就可能不允许另 一个程序操作这些流所用的资源
public File [] listFiles( obj) 该方法用File 对象形式返回目录下的指定类型所有文件。
10.1.3 文件的创建与删除
当使用File类创建一个文件对象后,例如 File("c:\\myletter","letter.txt"); 如果c:\myletter目录中没有名字为letter.txt文
而不是目录。 public boolean isDirectroy() 判断文件是否是一个目录。 public boolean isHidden() 判断文件是否是隐藏文件。 public long lastModified() 获取文件最后修改的时间
(时间是从1970年午夜至文件最后修改时刻的毫秒数)。
public String[] list() 用字符串形式返回目录 下的全部文件。
public File [] listFiles() 用File对象形式返 回目录下的全部文件。
有时需要列出目录下指定类型的文件。可以使用 File类的下述两个方法,列出指定类型的文件:
public String[] list( obj) 该方法用字符串形 式返回目录下的指定类型的所有文件。
10.2.1 InputStream类与 OutputSream类
InputStream类提供的read方法以字节为单位顺序 地读取源中的数据,只要不关闭流,每次调用read 方法就顺序地读取源中的其余内容,直到源的末尾 或输入流被关闭
InputStream类有如下常用的方法 int read() int read(byte b[]) int read(byte b[], int off, int len) void close() long skip(long numBytes)
10.2.2 Reader类与Writer类
Reader类提供的read方法以字符为单位顺序地读取 源中的数据,只要不关闭流,每次调用read方法就 顺序地读取源中的其余内容,直到源的末尾或输入 流被关闭
Reader类有如下常用的方法 int read() int read(char b[]) int read(char b[], int off, int len) void close() long skip(long numBytes)
10.1.2 目录
1.创建目录 File对象调用方法:public boolean mkdir()创建
一个目录,如果创建成功返回true,否则返回 false(如果该目录已经存在将返回false)
2.列出目录中的文件
如果File对象是一个目录,那么该对象可以调用下 述方法列出该目录下的文件和子目录。
当要执行一个本地机上的可执行文件时,可以使用 ng包中的Runtime类。首先使用Runtime 类 声明一个对象,如:
Runtime ec; 然后使用该类的getRuntime()静态方法创建这个对
象: ec=Runtime.getRuntime(); ec可以调用exec(String command)方法打开本地机
第10章 输入、输出流
10.1 File类
创建一个File对象的构造方法有3个: ); directoryPath,String ); f, String );
10.1.1 文件的属性
public String getName() 获取文件的名字。 public boolean canRead() 判断文件是否是可读的。 public boolean canWrite() 判断文件是否可被写入。 public boolean exits() 判断文件是否存在。 public long length() 获取文件的长度(单位是字节)。 public String getAbsolutePath() 获取文件的绝对路径。 public String getParent() 获取文件的父目录。 public boolean isFile() 判断文件是否是一个普通文件,
OutStream流以字节为单位顺序地写文件,只要不 关闭流,每次调用write方法就顺序地向目的地写 入内容,直到流被关闭。
OutputStream类有如下的常用的方法 void write(int n) void write(byte b[]) void write(byte b[],int off,int len) void close()
OutStream流以字符为单位顺序地写文件,只要不 关闭流,每次调用write方法就顺序地向目的地写 入内容,直到流被关闭。
Writer类有如下常用的方法 void write(int n) void write(byte b[]) void write(byte b[],int off,int length) void close()
的可执行文件或执行一个操作来自10.2 字节流与字符流
java.io包提供了大量的流类,Java把InputStream 抽象类的子类创建的流对象称作字节输入流、 OutputStream抽象类的子类创建的流对象称作字节 输出流,Java把Reader抽象类的子类创建的流对象 称作字符输入流、Writer抽象类的子类创建的流对 象称作字符输出流
件,文件对象file调用方法: public boolean createNewFile(); 可以在c:\myletter目录中建立一个名字为
letter.txt的文件。文件对象调用方法 public boolean delete() 可以删除当前文件,例如: ();
10.1.4 运行可执行文件