javaI/O技术

流的方向:


输入流:数据源到程序(inputStream,Reader读进来)
输出流:程序到目的地(OutPutStream,Writer写出去)
处理数据单元:


字节流:按照字节读取数据(InputStream,OutputStream)
字符流:按照字符读取数据(Reader,Writer)
功能不同


节点流:直接从数据源或目的地读写数据
处理流:不直接连接到数据源或目的地,是处理流的流,童工对其他流的处理提高程序的性能。
Jdk提供的流继承了四大类:InputStream(字节输入流),OutputStream(字节输出流),Reader(字符输入流),Writer(字符输出流)。


以下是java中io中常用的流。



InputStream


抽象类java.io.InputStream是所有字节输入流类型的父类,该类中定义了以字节为单位读取数据的基本方法,并在其子类中进行了分化和实现.


三个基本的read方法:


int read()
int read(byte[] buffer)
int read(byte[] buffer,int offset,int length)
其他方法:


void close()
int available()
skip(long n)
boolean markSupported()
InputStream类层次



<pre name="code" class="plain">import java.io.File ;
import java.io.InputStream ;
import java.io.FileInputStream ;
public class InputStreamDemo{
    public static void main(String args[]) throws Exception{    // 异常抛出,不处理
        // 第1步、使用File类找到一个文件
        File f= new File("d:" + File.separator + "test.txt") ;    // 声明File对象
        // 第2步、通过子类实例化父类对象
        InputStream input = null ;    // 准备好一个输入的对象
        input = new FileInputStream(f)  ;    // 通过对象多态性,进行实例化
        // 第3步、进行读操作
        byte b[] = new byte[1024] ;        // 数组大小由文件决定
        int len = 0 ; 
        int temp = 0 ;            // 接收每一个读取进来的数据
        while((temp=input.read())!=-1){
            // 表示还有内容,文件没有读完
            b[len] = (byte)temp ;
            len++ ;
        }
        // 第4步、关闭输出流
        input.close() ;                        // 关闭输出流\
        System.out.println("内容为:" + new String(b,0,len)) ;    // 把byte数组变为字符串输出
    }
};


 


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值