1.什么是比特(Bit),什么是字节(Byte),什么是字符(Char),它们长度是多少,各有什么区别

答案

Bit最小的二进制单位 ,是计算机的操作部分 取值0或者1

Byte是计算机操作数据的最小单位由8位bit组成 取值(-128-127)

Char是用户的可读写的最小单位,在Java里面由16位bit组成 取值(0-65535)

Bit 是最小单位 计算机 只能认识 0或者1

8个字节 是给计算机看的

字符 是看到的东西  一个字符=二个字节

  2.什么是流,按照传输的单位,分成哪两种流,并且他们的父类叫什么流是指数据的传输

答案

字节流,字符流

字节流:InputStream OutputStream

字符流:Reader Writer

3.流按照传输的方向可以分为哪两种,分别举例说明

答案

输入输出相对于程序

输入流InputStream

,输出流OutputStream

4.按照实现功能分为哪两种,分别举例说明

答案

节点流,处理流

节点流:OutputStream

处理流: OutputStreamWriter

  5.BufferedReader属于哪种流,它主要是用来做什么的,它里面有那些经典的方法

答案

属于处理流中的缓冲流,可以将读取的内容存在内存里面,有readLine()方法

  6.什么是节点流,什么是处理流,它们各有什么用处,处理流的创建有什么特征

答案

节点流 直接与数据源相连,用于输入或者输出

处理流:在节点流的基础上对之进行加工,进行一些功能的扩展

处理流的构造器必须要 传入节点流的子类

  7.如果我要对字节流进行大量的从硬盘读取,要用那个流,为什么

答案

BufferedInputStream 使用缓冲流能够减少对硬盘的损伤

  8.如果我要打印出不同类型的数据到数据源,那么最适合的流是那个流,为什么

答案

Printwriter 可以打印各种数据类型

  9.怎么样把我们控制台的输出改成输出到一个文件里面,这个技术叫什么

答案

SetOut(printWriter,printStream)重定向

  10.怎么样把输出字节流转换成输出字符流,说出它的步骤

答案

使用 转换处理流OutputStreamWriter 可以将字节流转为字符流

New OutputStreamWriter(new FileOutputStream(File file));

  11.把包括基本类型在内的数据和字符串按顺序输出到数据源,或者按照顺序从数据源读入,一般用哪两个流

答案

DataInputStream DataOutputStream

  12.把一个对象写入数据源或者从一个数据源读出来,用哪两个流

答案

ObjectInputStream ObjectOutputStream

   13.什么叫对象序列化,什么是反序列化,实现对象序列化需要做哪些工作

答案

对象序列化,将对象以二进制的形式保存在硬盘上

反序列化;将二进制的文件转化为对象读取

实现serializable接口

不想让字段放在硬盘上就加transient

  14.如果在对象序列化的时候不想给一个字段的数据保存在硬盘上面,采用那个关键字?

答案

transient关键字

  15.在实现序列化接口是时候一般要生成一个serialVersionUID字段,它叫做什么,一般有什么用

答案

是版本号,要保持版本号的一致 来进行序列化

为了防止序列化出错

16.InputStream里的read()返回的是什么,read(byte[] data)是什么意思,返回的是什么值

答案

返回的是所读取的字节的int型(范围0-255)

read(byte [ ] data)将读取的字节储存在这个数组

返回的就是传入数组参数个数

Read  字节读取字节  字符读取字符

  17.OutputStream里面的write()是什么意思,write(byte b[], int off, int len)这个方法里面的三个参数分别是什么意思

答案

write将指定字节传入数据源

Byte b[ ]是byte数组

b[off]是传入的第一个字符

b[off+len-1]是传入的最后的一个字符

len是实际长度

  18.流一般需要不需要关闭,如果关闭的话在用什么方法,一般要在那个代码块里面关闭比较好,处理流是怎么关闭的,如果有多个流互相调用传入是怎么关闭的?

答案

流一旦打开就必须关闭,使用close方法

放入finally语句块中(finally 语句一定会执行)

调用的处理流就关闭处理流

多个流互相调用只关闭最外层的流

  19.Java中的所有的流可以分为几大类,它们的名字是什么,各代表什么

答案

分为 字节输入流 InputStream

字节输出流 OutputStream

字符输入流 Reader

字符输出流 Writer

所有流都是这四个流的子类

说下常用的io流

Icon

InputStream,OutputStream,

FileInputStream,FileOutputStream,

BufferedInputStream,BufferedOutputStream

Reader,Writer

BufferedReader,BufferedWriter

20 写一段代码读取一个序列化的对象一般使用哪种Stream?

Icon

A、InputStream B、FileReader C、DataInputStream D、ObjectStream

21 io流怎样读取文件的?

Icon

使用File对象获取文件路径,通过字符流Reader加入文件,使用字符缓存流BufferedReader处理Reader,再定义一个字符串,循环遍历出文件。代码如下:

File file = new File("d:/spring.txt");

try {

Reader reader = new FileReader(file);

BufferedReader buffered = new BufferedReader(reader);

String data = null;

while((data = buffered.readLine())!=null){

System.out.println(data);

}

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

22 说说你对io流的理解

Icon

Io流主要是用来处理输入输出问题,常用的io流有InputStream,OutputStream,Reader,Writer等

23 JAVA的IO流和readLine方法

Icon

Java的io流用来处理输入输出问题,readLine是BufferedReader里的一个方法,用来读取一行。

24 用什么把对象动态的写入磁盘中,写入要实现什么接口。

Icon

ObjectInputStream,需要实现Serializable接口

25  FileInputStream 创建详情,就是怎样的创建不报错,它列出了几种形式!

Icon

FileInputStream是InputStream的子类,通过接口定义,子类实现创建FileInputStream,

26 用io流中的技术,指定一个文件夹的目录,获取此目录下的所有子文件夹路径

27 请问你在什么情况下会在你得java代码中使用可序列化? 如何实现java序列化?

Icon

把一个对象写入数据源或者从一个数据源读出来,使用可序列化,需要实现Serializable接口

28 PrintStream、BufferedWriter、PrintWriter的比较? 

PrintStream类的输出功能非常强大,通常如果需要输出文本内容,都应该将输出流包装成PrintStream后进行输出。它还提供其他两项功能。与其他输出流不同,PrintStream 永远不会抛出 IOException;而是,异常情况仅设置可通过 checkError 方法测试的内部标志。另外,为了自动刷新,可以创建一个 PrintStream

BufferedWriter:将文本写入字符输出流,缓冲各个字符从而提供单个字符,数组和字符串的高效写入。通过write()方法可以将获取到的字符输出,然后通过newLine()进行换行操作。BufferedWriter中的字符流必须通过调用flush方法才能将其刷出去。并且BufferedWriter只能对字符流进行操作。如果要对字节流操作,则使用BufferedInputStream。
  PrintWriter的println方法自动添加换行,不会抛异常,若关心异常,需要调用checkError方法看是否有异常发生,PrintWriter构造方法可指定参数,实现自动刷新缓存(autoflush);

选择题:

1. 读写原始数据,一般采用什么流?(AC )

A InputStream

B DataInputStream

C OutputStream

D BufferedInputStream

2. 为了提高读写性能,可以采用什么流?( DF)


A InputStream

B DataInputStream

C BufferedReader

D BufferedInputStream

E OutputStream

F BufferedOutputStream

3. 对各种基本数据类型和String类型的读写,采用什么流?( AD)


A DataInputStream

B BufferedReader

C PrintWriter

D DataOutputStream

E ObjectInputStream

F ObjectOutputStream

4. 能指定字符编码的I/O流类型是:(BH )

A Reader

B InputStreamReader

C BufferedReader

D Writer

E PrintWriter

F ObjectInputStream

G ObjectOutputStream

H OutputStreamWriter

5. File类型中定义了什么方法来判断一个文件是否存在?( D)


A createNewFile

B renameTo

C delete

D exists

6. File类型中定义了什么方法来创建一级目录?( CD)


A createNewFile

B exists

C mkdirs

D mkdir

File类的mkdir方法根据抽象路径创建目录;File类的mkdirs方法根据抽象路径创建目录,包括创建必需但不存在的父目录

7. 对文本文件操作用什么I/O流?(AD )

A FileReader

B FileInputStream

C RandomAccessFile

D FileWriter

8. 在unix服务器www.openlab.com.cn上提供了基于TCP的时间服务应用,该应用使用port为13。创建连接到此服务器的语句是:(A )


A Socket s = new Socket(“www.openlab.com.cn”, 13);

B Socket s = new Socket(“www.openlab.com.cn:13”);

C Socket s = accept(“www.openlab.com.cn”, 13);

9. 创建一个TCP客户程序的顺序是:(DACBE )


A 获得I/O流

B 关闭I/O流

C 对I/O流进行读写操作

D 建立socket

E 关闭socket

10. 创建一个TCP服务程序的顺序是:(BCADEGF )


A 创建一个服务线程处理新的连接

B 创建一个服务器socket

C 从服务器socket接受客户连接请求

D 在服务线程中,从socket中获得I/O流

E 对I/O流进行读写操作,完成与客户的交互

F 关闭socket

G 关闭I/O流

11. Java UDP编程主要用到的两个类型是:( BD)


A UDPSocket

B DatagramSocket

C UDPPacket

D DatagramPacket

12. TCP/IP是一种:( B)


A 标准

B 协议 

C 语言 

D 算法

-------------------------------------------------吾生也有涯,而知也无涯!-----------------------------------------------------

本文由博主-少年-收藏自:

作者:Java仗剑走天涯

原文:https://blog.csdn.net/baidu_37107022/article/details/76890019

版权声明:本文为博主Java仗剑走天涯 原创文章,转载请附上博文链接!

我爱Java系列之《JavaEE面试宝典》---【IO流面试总结】的更多相关文章

  1. JAVA第09次实验(IO流)

    JAVA第09次实验(IO流) 0.字节流与二进制文件 我的代码 import java.io.DataInputStream; import java.io.DataOutputStream; im ...

  2. Java必须了解的“递归”与“IO流”!!!

    >>>First: 递归! 1. 定义: 在函数自身内部,调用函数本身的方式,称为递归. 2. 注意: 递归包括递进去.归出来两步. 首先,依次执行[函数调自身语句]上半部分的代码, ...

  3. java基础(十八)IO流(一)

    这里有我之前上课总结的一些知识点以及代码大部分是老师讲的笔记 个人认为是非常好的,,也是比较经典的内容,真诚的希望这些对于那些想学习的人有所帮助! 由于代码是分模块的上传非常的不便.也比较多,讲的也是 ...

  4. java学习第21天(IO流的使用)

    IO流分类: A:流向 输入流 读取数据 输出流 写出数据 B:数据类型 字节流 字节输入流 字节输出流 字符流 字符输入流 字符输出流 注意: a:如果我们没有明确说明按照什么分,默认按照数据类型分 ...

  5. java写文件读写操作(IO流,字节流)

    package copyfile; import java.io.*; public class copy { public static void main(String[] args) throw ...

  6. 详谈JAVA中的file类与IO流

    File类 位置于java.io包构造方法:File(String parent, String child)new file("d:\\","a.txt") ...

  7. Java基础学习笔记二十 IO流

    转换流 在学习字符流(FileReader.FileWriter)的时候,其中说如果需要指定编码和缓冲区大小时,可以在字节流的基础上,构造一个InputStreamReader或者OutputStre ...

  8. java基础知识——网络编程、IO流

    IO流 字节流:处理字节数据的流对象,计算机中最小数据单元就是字节.InputStream OutputStream 字符流:字符编码问题,将字节流和编码表封装成对象就是字符流.Reader Writ ...

  9. JAVA基础知识总结16(IO流)

    IO流:用于处理设备上数据. 流:可以理解数据的流动,就是一个数据流.IO流最终要以对象来体现,对象都存在IO包中. 流也进行分类: 1:输入流(读)和输出流(写). 2:因为处理的数据不同,分为字节 ...

随机推荐

  1. RabbitMQ+Spring 结合使用

    1:创建一个Maven工程,pom.xml文件如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi ...

  2. 系统的讲解 - PHP 浮点数高精度运算

    目录 概述 浮点数运算的"锅" 任意精度数学函数 常用数值处理方案 扩展 小结 概述 记录下,工作中遇到的坑 ... 关于 PHP 浮点数运算,特别是金融行业.电子商务订单管理.数 ...

  3. 分析Class类和ClassLoader类下的同名方法getResourceAsStream

    在读取本地资源的时候我们经常需要用到输入流,典型的场景就是使用Druid连接池时读取连接池的配置文件.Java为我们提供了读取资源的方法getResourceAsStream(),该方法有三种: Cl ...

  4. [区块链] 拜占庭将军问题 [BFT]

    背景: 拜占庭将军问题很多人可能听过,但不知道具体是什么意思.那么究竟什么是拜占庭将军问题呢? 本文从最通俗的故事讲起,并对该问题进行抽象,并告诉大家拜占庭将军问题为什么在区块链领域作为一个重点研究问 ...

  5. java游戏开发杂谈 - 游戏编程浅析

    每个游戏,你所看到的它的一切,都是计算机画出来的! 地图是画出来,人物是画出来的,树木建筑是画出来的,菜单按钮是画出来的,滚动的文字.闪烁的图标.云雾烟火,都是画出来的. 游戏编程,所要做的,就是控制 ...

  6. 前端笔记之ES678&Webpack&Babel(下)AMD|CMD规范&模块&webpack&Promise对象&Generator函数

    一.AMD和CMD规范(了解) 1.1传统的前端开发多个js文件的关系 yuan.js中定义了一个函数 function mianji(r){ return 3.14 * r * r } main.j ...

  7. 安全性测试入门:DVWA系列研究(一):Brute Force暴力破解攻击和防御

    写在篇头: 随着国内的互联网产业日臻成熟,软件质量的要求越来越高,对测试团队和测试工程师提出了种种新的挑战. 传统的行业现象是90%的测试工程师被堆积在基本的功能.系统.黑盒测试,但是随着软件测试整体 ...

  8. Golang 入门 : 结构体(struct)

    Go 通过类型别名(alias types)和结构体的形式支持用户自定义类型,或者叫定制类型.试图表示一个现实世界中的实体. 结构体由一系列命名的元素组成,这些元素又被称为字段,每个字段都有一个名称和 ...

  9. RIP 实验

    一.环境准备 1. 软件:GNS3 2. 路由:c7200 二.实验操作 实验要求: 1. 理解 RIP 协议的工作原理 2. 理解 RIPv1.RIPv2 的特性 3. 掌握 RIP 协议的基本配置 ...

  10. 安卓开发笔记(十三):SQLite数据库储存(下)数据的增添,更改,删除,查询

      SQLite数据库存储(下) 1.增添数据 对于添加数据的话我们只需要在主活动当中import新的包以及在主活动当中写上适当的代码就可以了,不需要在我们之前创建新的类当中书写新的代码.现在的主活动 ...