InputStream/OutputStream 为字节流设计的,Reader/Writer为字符流设计的 这话不假。但是他们都是抽象类,是不能直接实例化的。他们的方法是由他们的子类实现的。FileInputStream就是InputStream的一个直接子类,它可以直接创建对象。你要是用InputStream建立一个对象肯定会报错的。FileInputStream 有两种构造方法。1:FIleInputStream(String FilePath);//根据文件路径建立文件输入流2:FileInputStream(File objectname);//根据File对象创建文件输入流。
比如:FIleInputStream fis = new FileInputStream("D:/1.txt"); 和 File file = new File("D:/1.txt");
FileInputStream fis1 = new FileInputStream(file);的效果是一样的。建议你看一下java主要输入输出流的层次图,然后把几个常用类的方法看看。多写点程序,自然而然的就懂了