首页 > 代码库 > 输入输出流的理解
输入输出流的理解
一.流分类
1.按操作类型来分类
输入流:从文件,网络,压缩包或其它数据源写入内存中目的地(InputStream,Reader)
输出流:源地写出到文件,网络,压缩包或其它数据输出 (OutputStream,Writer)
(通俗理解,从对用户可见到不可见为输入流,从对用户不可见到用户可见的为输出流)
2.按流的形式来分类
字节流:InputStream(字节输入流),OutputStream(字节输出流)
字符流:Reader(字符输入流),Writer(字符输出流)
这四个为抽象类,所有输入流为InputStream或Reader的子类,所有输出流为OutputStream或Writer的子类
二.流的使用
下面以最常用的FileOutputStream,FileInputStream为例,实例I/O流的使用
因为是从不可见的数组到可见的文件中,所以用FileOutputStream
File file=new File("c:/text.txt"); //定义一个新的文件对象 byte [] b="有志者,事竟成!".getBytes(); //将字节数组作为源 FileOutputStream out=new FileOutputStream(file); //这里是从数组输出到文件(不可见到可见) out.write(b);//数组写入文件 out.close(); //用完关闭流
从文件中的信息写入数组,从可见到不可见,所以用FileInputStream
File file=new File("c:/text.txt"); //定义一个新的文件对象(C盘存在这个文件) byte []b=new byte[200]; //作为接收写入的目的源字节数组 FileInputStream in=new FileInputStream(file); in.read(b); for(int i=0;i<b.length;i++){ System.out.println(new String(b,0,b.length)); }
仅以这两个作为小实例,下面附上JDK1.7版本API中InoutStream和OutputStream的常用方法
InputStream:
OutputStream:
输入输出流的理解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。