A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 沿途小将 中级黑马   /  2014-8-17 17:25  /  1561 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

废话少谈,现在就直入我们的java中的io流了。
  Java把这些不同来源和目标的数据都统一抽象为数据流。Java语言的输入输出功能是十分强大而灵活的,美中不足的是看上去输入输出的代码并不是很简洁,因为你往往需要包装许多不同的对象。
  在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流。(来自百度百科)
  java的io 有四个抽象基类。分别是InputStream、OutputStream、Reader、Writer。
  我也是新手,所以现在说说我都玩这些基类时,常遇到的问题。
1,一般的类,要使用他的话,就直接实例化之后用就可以了。例如,Scanner s=new Scanner();  但是这四个基类可不能这样用,需要实力他们各自的非抽象子类才能用。
2,如果说按照我前面的方法来玩那四个基类,发现还是没法用(报错),我只能说声抱歉了,我应该首先说说使用这四个基类的前提。InputStream、OutputStream、Reader、Writer以及他们的子类都是在Java\jdk1.6.0_10\src.zip\java\io ,所以必须先导入要使用的类,一次导入IO的全部类也行。方法是:import   java.io.*;
  IO流的使用,就意味着异常的出现,为了程序能继续往下执行,就必须对异常进行处理。
有两种处理异常的方法:1,try{}catch(){}   2,直接throws (不建议使用)
我在这里就只说下try{}catch(){} 方法了。如:
  1. import  java.io.*;

  2. public class InOutStream{

  3.   FileWriter fw=null;

  4. public static void main(String[] args){

  5.   try{

  6.    fw = new FileWriter("hello.txt");

  7.    fw.write("我是要写入hello.txt的内容");

  8.   }catch(IOException e){

  9.   System.out.println(e.tostring());

  10.   }

  11.   finally{

  12.    try{

  13.    if(fw!=null)

  14.    fw.close();

  15.     }catch(IOException e){

  16.       System.out.println(e.tostring());

  17.     }

  18.    }

  19. }

  20. }
复制代码

这里有一点点建议:
1,为了使例子中的fw能够在try中使用,最好把他放入成员变量的等级,可以先为空,后在try中初始化。
2,建议都要使用到finally,这样程序会更安全一点,并且在finally里关闭流(多个流时,都需要关闭,必能只关闭一个),小细节是,在关闭流时加个判断语句。


笔者不够细心,望多指教!

3 个回复

正序浏览
左脑想你 来自手机 中级黑马 2014-8-17 18:29:55
板凳
通配符*也不建议使用,尽量用一个导一个,一次导入过多的包,你的代码看起来简介,但是实际上你的代码运行时占用了很多的资源
回复 使用道具 举报
学的真快啊!
回复 使用道具 举报
占星释 来自手机 中级黑马 2014-8-17 17:42:12
沙发
赞一个,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马