11.19作业

补充题:

1、Java中流的分类有哪些?

  1. 按流向分:
    输入流: 程序可以从中读取数据的流。
    输出流: 程序能向其中写入数据的流。
  2. 按数据传输单位分:
    字节流: 以字节为单位传输数据的流。
    字符流: 以字符为单位传输数据的流。
  3. 按功能分:
    节点流: 用于直接操作目标设备的流。
    处理流:是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写。

2、字节流InputStream和OutputStream的子类分别有哪些?请举例说明其使用场景。与其对应的字符流分别有哪些?

InputStream的子类:ByteArrayInputStream
OutputStream的子类:ByteArrayOutputStream
使用场景:

import java.io.*;

public class ByteStreamTest {

   public static void main(String args[])throws IOException {

      ByteArrayOutputStream bOutput = new ByteArrayOutputStream(12);

      while( bOutput.size()!= 10 ) {
         // 获取用户输入值
         bOutput.write(System.in.read());
      }

      byte b [] = bOutput.toByteArray();
      System.out.println("Print the content");
      for(int x= 0 ; x < b.length; x++) {
         // 打印字符
         System.out.print((char)b[x]  + "   ");
      }
      System.out.println("   ");

      int c;

      ByteArrayInputStream bInput = new ByteArrayInputStream(b);

      System.out.println("Converting characters to Upper case " );
      for(int y = 0 ; y < 1; y++ ) {
         while(( c= bInput.read())!= -1) {
            System.out.println(Character.toUpperCase((char)c));
         }
         bInput.reset();
      }
   }
}

对应的字符流:CharArrayReader和CharArrayWriter

3、字节流与字符流的转化是怎样的?Java对此提供了哪些支持?

输入字节流转化为字符流,使用InputStreamReader的构造方法;
输出字符流转化为字节流,使用OutputStreamWriter或PrintWriter的构造方法。

4、Java中的过滤流(流的装配)有什么作用?请举例说明常用的过滤流。

过滤流:使用节点流作为输入或输出。过滤流是使用一个已经存在的输入流或输出流连接创建的。过滤流又称为包装流 是用来包装字节流 来实现双缓冲。还有的时候,无法对字节流进行直接操作,就需要包装流来包装。
BufferedInputStream和BufferedOutputStream,过滤流,需要使用已经存在的节点流来构造,提供带缓冲的读写,提高了读写的效率。
DataInputStream和DataOutputStream,过滤流,需要使用已经存在的节点流来构造,提供了读写Java中的基本数据类型的功能。

5、什么是对象的序列化和反序列化?Java对此提供了哪些支持?

序列化: 又称串行化(Serialization)将实现了Seriallizable接口的对象转换成一个字节序列。
反序列化: 序列化后的字节序列能够完全恢复为原来的对象。
支持: ObjectInputStream类和ObjectOutputStream类。

6、Java的File类表示什么?有什么作用?

File类主要是Java为文件这块的操作(如删除、新增等)而设计的相关类;
File类主要用于命名文件、查询文件属性和处理文件目录。

7、Java对文件的读写分别提供了哪些支持?

FileInputStream/FileOutputStream:它主要用于本地文件读写;
本地文件读写编程的基本过程为:
① 生成文件流对象(对文件读操作时应该为FileInputStream类,而文件写应该为FileOutputStream类);
② 调用FileInputStream或FileOutputStream类中的功能函数如read()、write(int b)等读写文件内容;
③ 关闭文件(close());

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值