Java面试------IO流篇

IO流篇

一.Java中有几种类型的流?

  1. 字节流和字符流
  2. 字节流继承inputstream和outputstream,字符流继承自inputstreamReader和outputstreamWriter.

二.分为两大类:

(一):

    1.字节输入流:fileinputstream;   构造函数是(file)

    2.字节输出流:fileoutputstream;

为了简便有了Bufferedinputstream;   构造函数的参数(InputStream in)---->(new FileInputstream(file))

            Bufferedoutputstream;

(二):

   1.字符输入流:

              Reader;   构造函数(InputStream in)

                (他们是抽象类,一般用他们的子类,便捷类:FileReader--->字符转换输入流,构造方法是(InputStream in))

              writer;

    

    为了更快的操作有了BufferedReader ;

     构造方法:public BufferedReader(Reader in)创建一个使用默认大小输入缓冲区的缓冲字符输入流。

         public BufferedReader(Reader in, int sz)创建一个使用指定大小输入缓冲区的缓冲字符输入流。

三.什么是比特(bit),什么是字节(byte),什么是字符(char)?

  1. bit是最小的二进制单位,是计算机操作部分,只有0和1
  2. Byte是计算机操作数据的最小单位,由8位bit组成,(-128~127)
  3. Char是用户可读写的最小单位,由16个bit组成(0~65535)
  4. 8个字节是给计算机看的,16个字节是给用户看到的,一个字符等于两个字节。

四.什么是节点流,什么是处理流?

  1. 节点流:直接与数据源相连,用于输入和输出
  2. 处理流:在节点流的基础上,加以处理,进行功能上的扩展
  3. 处理流的构造器必须传入节点流的子类

五.如果我要对字节流在应硬盘中大量的读取,用什么流?

1.Bufferedinputstream 使用缓冲流读取大量数据能减少对硬盘的损伤

六.怎样将字节流转换成字符流输出?

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

New OutputStreamWriter(new FileOutputStream(File file))

七.什么叫对象序列化?什么叫反序列化?

  1. 对象序列化是将文件以二进制的方式保存到硬盘上
  2. 反序列化是将二进制文件转换成对象读取

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

write将指定字节传入数据源

Byte b[ ]是byte数组

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

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

len是实际长度

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

ObjectInputStream,需要实现Serializable接口

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值