文件输入、输出流解析

Java中的文件输入、输出流分别是包java.io下的FileInputStream类和FileOutputStream类,构造FileInputStream对象常用的构造器有FileInputStream(File file)和FileInputStream(String name)两个,FileOutputStream与FileInputStream一样,两个常用的构造器也分别是传入File和String形式的参数。这里的输入、输出都是内存相对于外部储存器而言的,输入流对象能通过自身的方法将外部储存器中的内容调进内存中进行处理;输出流恰好相反,它是把内存中的内容移到外部储存器当中的,

输入流FileInputStream中常用的方法有available:返回一个整型数,表示流中剩余的字节数;close关闭输入流,通常在流操作结束后使用;read:这个方法常用的有无参形以及传入一个byte形的数组,都返回一个整型数,前者的整型数表示下一个数据字节,如果已到达文件末尾,则返回-1,后者的整型数表示读入缓冲区的字节总数,如果因为已经到达文件末尾而没有更多数据,则返回-1;skip:传入一个long型数,表示要跳过的字节数据,返回的也是个long型数,表示实际跳过的字节数。

输出流FileOutputStream中常用的方法有close,作用与
输入流中的方法相同;write:这个方法的三种形式都比较常见,分别是传入一个byte型数组,一个int型数,一个byte型数组+一个int型数+一个int型数,传入一个byte型数组的表示将数组中的字节全部写入到输出流中,传入一个int型数的表示将这个指定的字节写到输出流中,最后一种情况表示将数组中从偏移量为第一个int型数开始,第二个int型所表示的字节个数写入到输出流中;输出流中还有一个从java.io.OutputStream继承过来的方法flush(强制刷新),因为内存的处理速度比外部储存器的处理速度要快,所以可能导致输出流中的内容还来不及写进外部储存器中,就被销毁掉了,加上这个flush方法就能有效解决这个问题了。

你可能感兴趣的:(输出流)