大家好,又见面了,我是你们的朋友全栈君。
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)重定向
11.怎么样把输出字节流转换成输出字符流,说出它的步骤
答案
使用 转换处理流OutputStreamWriter 可以将字节流转为字符流 New OutputStreamWriter(new FileOutputStream(File file));
12.把包括基本类型在内的数据和字符串按顺序输出到数据源,或者按照顺序从数据源读入,一般用哪两个流
答案
DataInputStream DataOutputStream
13.把一个对象写入数据源或者从一个数据源读出来,用哪两个流
答案
ObjectInputStream ObjectOutputStream
14.什么叫对象序列化,什么是反序列化,实现对象序列化需要做哪些工作
答案
对象序列化,将对象以二进制的形式保存在硬盘上 反序列化;将二进制的文件转化为对象读取 实现serializable接口
不想让字段放在硬盘上就加transient
15.如果在对象序列化的时候不想给一个字段的数据保存在硬盘上面,采用那个关键字?
答案
transient关键字
16.在实现序列化接口是时候一般要生成一个serialVersionUID字段,它叫做什么,一般有什么用
答案
是版本号,要保持版本号的一致 来进行序列化
为了防止序列化出错
17.InputStream里的read()返回的是什么,read(byte[] data)是什么意思,返回的是什么值
答案
返回的是所读取的字节的int型(范围0-255) read(byte [ ] data)将读取的字节储存在这个数组 返回的就是传入数组参数个数
Read 字节读取字节 字符读取字符
18.OutputStream里面的write()是什么意思,write(byte b[], int off, int len)这个方法里面的三个参数分别是什么意思
答案
write将指定字节传入数据源 Byte b[ ]是byte数组 b[off]是传入的第一个字符 b[off len-1]是传入的最后的一个字符 len是实际长度
19.流一般需要不需要关闭,如果关闭的话在用什么方法,一般要在那个代码块里面关闭比较好,处理流是怎么关闭的,如果有多个流互相调用传入是怎么关闭的?
答案
流一旦打开就必须关闭,使用close方法 放入finally语句块中(finally 语句一定会执行) 调用的处理流就关闭处理流 多个流互相调用只关闭最外层的流
20.Java中的所有的流可以分为几大类,它们的名字是什么,各代表什么
答案
分为 字节输入流 InputStream 字节输出流 OutputStream 字符输入流 Reader 字符输出流 Writer 所有流都是这四个流的子类
说下常用的io流
Icon
InputStream,OutputStream, FileInputStream,FileOutputStream, BufferedInputStream,BufferedOutputStream Reader,Writer BufferedReader,BufferedWriter
21 写一段代码读取一个序列化的对象一般使用哪种Stream?
Icon
A、InputStream B、FileReader C、DataInputStream D、ObjectStream
22 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(); }
23 说说你对io流的理解
Icon
Io流主要是用来处理输入输出问题,常用的io流有InputStream,OutputStream,Reader,Writer等
24 JAVA的IO流和readLine方法
Icon
Java的io流用来处理输入输出问题,readLine是BufferedReader里的一个方法,用来读取一行。
25 用什么把对象动态的写入磁盘中,写入要实现什么接口。
Icon
ObjectInputStream,需要实现Serializable接口
26 FileInputStream 创建详情,就是怎样的创建不报错,它列出了几种形式!
Icon
FileInputStream是InputStream的子类,通过接口定义,子类实现创建FileInputStream,
27 用io流中的技术,指定一个文件夹的目录,获取此目录下的所有子文件夹路径
28 请问你在什么情况下会在你得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 算法
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/137710.html原文链接:https://javaforall.cn