java I/O

虽然做java有段时间了发觉对java IO流掌握的还不是很好,所以觉得花一个晚上的时间在对io资料看看,所以就有了这片文章流在JAVA中一般分为输入流(Input Stream)和输出流(Output Stream)2类,但这不是绝对的划分,比如一个文件当我们在向该文件写数据的时候,就是一个输出流;当从该文件读数据的时候,那么就是一个输入流,对于初学者而言可能经常把输入流和输出流弄混淆包括我也是这样,经常弄不清楚输入流和输出流,拿上面的例子分析,当程序向文件写数据的时候,就是程序把流输出到文件那么流的源头(既所有者)是程序,当在程序去读文件的数据的时候,这个时候还是以程序为中心是把文件中的对象(流)输入进程序,呵呵 以上只是个人比较愚昧的理解。

在java中主要是java.io包中提供一系列的类和接口来实现输入和输出处理的,标准输入和输出则是java.lang包提供的类来处理,但他们都是从java.io包中的类继承而来。

基本输出流的原理如下:

  • 读(输入流):打开一个流对象->当不是结尾,从流中读入数据->关闭流对象。
  • 写(输出流):打开一个流对象->当不是结尾,向流中写入数据->关闭流对象。

在java1.1以前,java.io中只提供了字节流,在1.1以后的版本中加入了字符流

  • 字节流

java中每一种字节流基本功能都依赖于基本类InputStream和OutputStream,他们都是抽象类,不能直接使用  

下面是个文件流的简单例子

java 代码
  1. import java.io.*;   
  2.   class Filestream   
  3.  {   
  4.     public static void main(String args[])   
  5.     {   
  6.         try  
  7.         {   
  8.              File inFile=new File("file1.txt");   
  9.              File outFile=new File("file2.txt");   
  10.              FileInputStream fis=new FileInputStream(inFile);   
  11.              FileOutputStream fos=new  FileOutputStream(outFile);   
  12.            int c;   
  13.              while((c=fis.read())!=-1)  fos.write(c);   
  14.              fis.close();   
  15.              fos.close();   
  16.         }catch(FileNotFoundException e) {   
  17.                System.out.println("FileStreamsTest: "+e);   
  18.         }catch(IOException e) {   
  19.            System.err.println("FileStreamsTest: "+e);   
  20.         }   
  21.     }   
  22. }   

 

  • 字符流:java.io包中的类以Reader和Writer为基础类派生而来,Reader和Writer类也是抽象类,只提供处理一系列字符流的接口。

InputStreamReader和OUtputStream是java.io包中处理字符流的最基本的类

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值