关于FilterInputStream一个很简单的JAVA问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于FilterInputStream一个很简单的JAVA问题相关的知识,希望对你有一定的参考价值。

package FilerInputStream;
import java.io.*;
//创建一个文件类对象f
//创建一个文件输入流对象fis,并且以f作为参数
//创建一个过滤输入流对象filter,并且以fis作为参数
//通过循环语句将f中的数据读书并且输出

public class file1

public static void main(String[] args)throws Exception

File f=new File("d:\\filetest\\1.txt");
FileInputStream fis=new FileInputStream(f);
FilterInputStream filter=new FilterInputStream(fis);//FilterInputStream是protected类型
for(int i=0;i<f.length();i++)

System.out.println(filter.read(i));

fis.close();



程序编译错误
FilterInputStream类是一个Protected类型,如何修改正确

参考技术A 为什么不使用FilterInputStream的子类呢,如果你就是要用它,你可以直接继承FilterInputStream,在自己的构造方法中调用父类的protected构造方法,以后可以new 的构造方法,调用父类的成员方法咯。 参考技术B 不能访问 FilterInputStream 的构造方法,它是受保护的构造方法
可以使用用它的子类
FilterInputStream filter=new BufferedInputStream(fis);本回答被提问者采纳

FIlterInputStream和FilterOutputStream

FilterInputStream介绍

FilterInputStream的作用"封装其他的输入流,并为他们提供额外的功能".它的常用子类有BufferedInputStream和DataInputStream.

BufferedInputStream的作用就是为了"输入流提供缓冲的功能,以及mark()和reset()功能"

DataInputStream的作用就是"允许应用程序以与机器无关方式从底层输入流读取java数据类型"

FilterOutputStream介绍

FIlterOutputStream的作用是用来"封装其他的输出流,并为它们提供额外的功能".主要包括BufferedOutputStream和DataOutputStream和PrintStream.

BufferedOutputStream的作用就是为"输出流提供缓冲的功能"

DataOutputStream“允许应用程序以与机器无关方式从底层输入流中读写基本 Java 数据类型”

PrintStream是用来修饰其他输出流,它能为其他输出流添加了功能,使他们能够方便打印各种数据值表现形式.

以上是关于关于FilterInputStream一个很简单的JAVA问题的主要内容,如果未能解决你的问题,请参考以下文章

Java字节流:FilterInputStream FilterOutputStream

为啥 SKIA 不使用自定义 FilterInputStream?

FIlterInputStream和FilterOutputStream

I/O:FilterInputStream

使用FilterInputStream的跳过方法

java中怎么用FilterInputStream来读并输出字母