Java第十次课程作业

1.Java中流的分类有哪些?
按方向分:
输入流:System.in是一个inputStream类的输入流。
输出流:System.out是一个outputStream类的输出流。
按读取类型分:
字节流:如System.in是一个InputStream类型字节流。
字符流:如new InputStreamReader(System.in)是一个字符流对象。
按发生的源头分:
节点流:直接操作目标设备对应的流,如文件流,标准输入输出流。
过滤流:继承带有关键字Filter的流,用于包装操作节点流,方便读写各种类型的数据。
2.字节流InputStream和OutputStream的子类分别有哪些?请举例说明其使用场景。与其对应的字符流分别有哪些?
InputStream的子类:
FileInputStream 文件流
PipedInputStream 管道输入流,读取管道内容。
ByteArrayInputStream包含一个内存缓冲区,字节从中取出。
SequenceInputStream 是多种输入流的逻辑串联,从第一个输入流读取,直到最后一个输入流
FilterInputStream 过滤流,在读写数据的同时还可以对数据进行特殊处理
OutputStream的子类:
FileOutputStream 文件流
PipedOutputStream 管道流
ObjectOutputStream将对象序列化后写入指定地方
ByteArrayOutputStream在字节数组和流之间搭建桥梁
SequenceOutputStream 是多种输入流的逻辑串联
FilterInputStream 过滤流,在读写数据的同时还可以对数据进行特殊处理
3.字节流与字符流的转化是怎样的?Java对此提供了哪些支持?
输入字节流转为字符流需要用到inputstreamReader的构造方法:
InputStreamReader(InputStream in)
如:

InputStreamReader ins = new InputStreamReader(System.in);
InputStreamReader ins = new InputStreamReader(new
FileInputStream(“test.txt”));

输出字符流转为字节流用到OutputStreamWriter或PrintWriter的构造方法:
OutputStreamWriter(OutputStream out)
PrintWriter(OutputStream out)
如:

OutputStreamWriter outs = new OutputStreamWriter(new
FileOutputStream(“test.txt”));

4.Java中的过滤流(流的装配)有什么作用?请举例说明常用的过滤流。
节点流读取或写入时没有缓冲功能,只能读取或写入字节或字符,而处理流的作用就是为节点流添加一些复杂的功能,如缓冲功能、操作(读取)各种数据类型等功能。
BufferedReader:用于缓存字符流,可以一行一行的读

BufferedReader bufferedReader=new BufferedReader(
                new InputStreamReader(System.in));
        System.out.println(bufferedReader.readLine());

DataInputStream和DataOutputStream,可从字节流中写入,读取Java基本数据类型,不依赖机器的具体数据类型,方便存储和恢复数据

 DataOutputStream dataOutputStream=
                new DataOutputStream(new BufferedOutputStream(new FileOutputStream("test.txt")));
        dataOutputStream.writeInt(123);
        dataOutputStream.close();

        DataInputStream dataInputStream=
                new DataInputStream(new FileInputStream("test.txt"));
        int a=dataInputStream.readInt();

        System.out.println(a);

5.什么是对象的序列化和反序列化?Java对此提供了哪些支持?
Java 序列化就是指将对象转换为字节序列的过程,而bai反序列化则是只将字节序列转换成目标对象的过程。
6.Java的File类表示什么?有什么作用?
在Java中File类是可以直接操作文件的类,
它有四个构造函数:
File(String parent,String child)
File(File parent,String child)
File(URI uri)
File(String pathname)
封装了一系列方法,可以对文件进行操作
7.Java对文件的读写分别提供了哪些支持?
输入输出抽象基类InputStream/OutputStream ,实bai现文件内容操作的基本功能函数read()、 write()、close()、skip()等;一般都是创建出其派生类对象(完成指定的特殊功能)来实现文件读写。在文件读写的编程过程中主要应该注意异常处理的技术。
FileInputStream/FileOutputStream:
用于本地文件读写(二进制格式读写并且是顺序读写,读和写要分别创建出不同的文件流对象)
PipedInputStream/PipedOutputStream:
用于管道输入输出(将一个程序或一个线程的输出结果直接连接到另一个程序或一个线程的输入端口,实现两者数据直接传送。操作时需要连结);
管道的连接:
方法之一是通过构造函数直接将某一个程序的输出作为另一个程序的输入,在定义对象时指明目标管道对象

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值