7输入与输出流
- 格式:pptx
- 大小:228.47 KB
- 文档页数:16
《Java基础入门》课后习题答案第7章IO(输入输出)一、填空题1、Java中的I/O流,按照传输数据不同,可分为:字节流、字符流2.在Buffer与Channel交互时,数据从:Channel、读取到Buffer 中,或从Buffer入到Channel 中。
3.用于将字节流转换为字符流的是:InputStreamReader、OutputStreamWriter2、NIO主要有三大核心部分:Buffer、Channel、Selector5、Java中提供了一个类:RandomAccesseFile,它不但具有读写文件的功能,而且可以随机地从文件的任何位置开始执行读写数据的操作。
二、判断题1. 如果一个File表示目录下有文件或者子目录,调用delete()方法也可以将其删除。
错2.对象序列化是指将一个Java 对象转换成一个I/0 流中字节序列的过程。
对3.Channel 是一个接口对象,它类似于传统的流对象。
对4.InputStream类的close()方法是用于关闭流并且释放流所占的系统资源。
对5,BufferedInputStream 和BufferedOutputStream 不是字节缓冲流。
错三、选择题1.下面选项中,哪些是标准输人输出流?(多选) (AB)A. System.InB.System. OutC.InputStreamD.OutputStream2.File类中以字符串形式返回文件绝对路径的方法是哪一项?(C)A. getParent()B. getNamel)C. getAbsolutePathOD. getPath()3.以下创建RandomAccessFile类实例对象的代码,哪些是正确的?(多选)(AB)A.new RandomAccessFile(new File("D:\\itcast\\dirl\test. java"),”rw”);B.new RandomAccessFile("D:\\itcast\\dirl\test. java","r");C. new RandomAccessFile("D:\\itcast\\dir1\\test.java");D. new RandomAccessFile("D:\\itcast\\dir1\\test.java","wr")4.以下选项中,哪个流中使用了缓冲区技术? (A)A. BufferedOutputStreamB. FileInputStreamC. DataOutputStreamD. FileReader5.以下选项中,关于Java NIO 中Buffer类的常用说法正确的是哪一项?(B)A.clearO方法会清除缓冲区数据,并将position 设置为0.limit 设置为capacity OB.fip()方法先将limit 设置为当前position 位置,然后再将pson设置为0C.mark()方法用于设置Buffer 的标记(mark),其能在0 与limi 之间做标记D.rewind()方法将position 设置为0,并设置mark 标记四、简答题1、简述I/O 流的概念。
第八章输入/输出处理输入/输出处理是程序设计中非常重要的一部分,比如从键盘读取数据、从文件中读取数据或向文件中写数据等等,而键盘、监视器、磁盘存储设备都称为输入、输出源。
Java把这些不同类型的输入、输出源抽象为流(stream)。
Java程序可以用输入流从一些输入源读数据,用输出流向一些输出源写数据。
Jdk 提供了包java.io,其中包括一系列的类来实现输入/输出处理。
从jdk1.1开始,java.io包中的流包括字节流和字符流。
§8.1输入/输出字节流概述§8.1.1 I/O字节流的层次结构在java中,所有的输入流都是从抽象类InputStream继承而来,所有的输出流都是从OutputStream 继承而来。
以下给出了java语言IO包中输入/输出处理类之间的继承关系。
输入、输出字节流的类层次一、简单的输入、输出流1.FileInputStream和FileOutputStream:用于本地文件系统的文件读写。
2.PipedInputStream和PipedOutputStream:用于完成管道的输入和输出。
管道用于将一个程序(或线程或代码块)的输出引导进另一个程序(或线程或代码块)的输入,所有PipedInputStream必须连接到一个PipedOutputStream所有PipedOutputStream必须连接到一个PipedInputStream。
3.ByteArrayInputStream和ByteArrayOutputStream:读写内存数据。
4.SequenceInputStream:用于将多个输入流连接到一个输出流。
5.StringBufferInputStream:用于读取StringBuffer类可变字符串中的数据。
二、过滤流1.DataInputStream和DataOutputStream:用一种与机器无关的格式读写java语言的基本数据类型。
输入流和输出流的概念
输入流和输出流是计算机网络中传输数据的基本方式,它可以完成两个计算机之间的
信息交互。
输入流指的是数据的流向,它把本地计算机的数据通过网络发送到远程计算机;而输出流则是数据的反向流动,它会把远程计算机的数据发送到本地计算机。
输入流和输出流均可以被离散地分割成多个数据帧,每个数据帧中都有各自的数据,
有助于监测每个帧中的数据是否在正确的时间、顺序和完整的状态发送出去或者接收进来。
输入流和输出流都是以流的方式进行数据传输的,通常在发送端需要压缩打包数据因为网
络的带宽是有限的,而接收端要对数据进行解压缩以恢复正确的数据信息。
由于数据要实现输入流和输出流的功能,因此每种数据在传输过程中都要经过适当的
处理,以便在传输完成后能够正确的显示或使用,这就是所谓的协议处理,比如 FTP、HTTP、SMTP 等等,都是用于在计算机间进行数据传输的协议处理。
C++的输⼊和输出流详解⽬录输⼊和输出流标准输⼊流⼩案例标准输出流⽂件读写总结输⼊和输出流从键盘输⼊数据,输出到显⽰器屏幕。
这种输⼊输出称为标准的输⼊输出,简称标准I/O。
从磁盘⽂件输⼊数据,数据输出到磁盘⽂件简称⽂件I/O。
对内存中指定的空间进⾏输⼊输出,通常指定⼀个字符数组作为存储空间(存储任何信息),称为字符串输⼊输出,简称为串I/O缓冲区:⽆论是输⼊还是输出都是存在缓存区的。
标准输⼊流常⽤的成员函数1,cin.get()获取⼀个字符char c = cin.get();使⽤cin.get()可以家当缓冲区中的换⾏符拿⾛。
注意返回值是什么类型的,拿⾛的数据再输出的时候就是什么类型。
2,cin.get(两个参数)获取字符串参数是字符串数组名和个数使⽤cin.get(两个参数)那字符串的时候,换⾏符\0会遗留在缓冲区中。
char buf[100] = {0};cin.get(buf, 100);cout << buf<< endl;只满⾜字符数组,且输出的字符个数总⽐第⼆个参数少1.(原因:字符数组最后⼀个字符是不可见字符’\0’)3,cin.getline()获取字符串接收⼀个字符串并输出和cin.get(两个参数)相似,不会将换⾏符加⼊字符串,但是也不会留在缓冲区中,⽽是直接扔掉。
char buf[100] = {0};cin.getline(buf, 100);cout << buf << endl;可以有第三个参数,就是终⽌位置(⼀个字符,不包括这个字符)4,cin.ignore()忽略⼀个字符括号中可以填⼊参数,参数就是忽略字符的个数。
默认是⼀个。
cin.ignore();char c = cin.get();//abcout << c << endl;//b,将a忽略了5,cin.peak()偷窥char c = cin.peek();cout << c << endl;//achar m = cin.get();cout << m << endl;//a缓冲区中,输⼊了⼀个a,然后cin.peek()只是看了⼀眼,并没有拿⾛,所以调⽤cin.get()的时候可以直接从缓冲区中拿。
第七章输入和输出习题与答案1、请说明为什么输入接口的数据缓冲寄存器必须有三态输出功能而输出接口却不需要的原因。
解:输入接口的数据缓冲寄存器的输出端是直接接在数据总线上的,如果数据寄存器没有三态输出功能,则无论数据寄存器被寻址选中或未被选中,其数据都会被送上数据总线,若此时总线上真正要传送的数据与该输入缓存器的内容不一致时,就会发生总线冲突。
所以,输入接口的数据缓冲器必须有三态输出功能,以便当接口未被寻址选中时,其输出端处于高阻态,从而与总线隔离。
对于输出接口来说,是输入端与数据总线相连,而输出端是与外设相连,因此其输出不影响总线状态;另外,一个外设一般只与一个输出数据缓存起相连,因此输出接口的数据缓存器无须有三态输出功能。
2、8086/8088CPU中哪些寄存器可以用于I/O寻址?若I/O端口地址分别是10H和100H,分别写出向这两个端口写入73H的程序段。
解:8086/8088CPU内可以用于I/O寻址的寄存器为AL、AX和DX。
向端口10H写入73H的程序段为:MOV AL,73HOUT 10H,AL向端口10H写入73H的程序段为:MOV AL,73HMOV DX,100HOUT DX,AL3、图为7段显示器接口,显示器采用共阳极接法,试编写程序段,使AL中的一位十六进制数显示于显示器上。
输出锁存器地址为40H。
解:TABLE DB 3FH,06H,5BH,4FHDB 66H,6DH,7DH,07HDB 7FH,67H,77H,7CH,DB 39H,5EH,79H,71HLEA BX,TABLEXLA TOUT 40H,AL4、PC/XT机有哪些输入输出方式?各自的特点如何?DMA控制器应具备哪些功能?解:无条件方式:需要外设处于就绪状态,硬件简单;查询方式:CPU需要不断地查询外设是否就绪,浪费CPU时间,硬件较简单;中断方式:外设准备好后,向CPU发中断请求,请求CPU完成数据传输,外设与CPU 并行;硬件又比前两者复杂。