CSDN JAVA随笔 No.2

今天深入了解了流的概念,流的分类:

按数据流动方向分

输入流:只能从中读取字节数据,而不能向其写出数据;

输出流:只能向其写入字节数据,而不能从中读取数据;

按照流所处理的数据类型分

字节流:用于处理字节数据;

字符流:用于处理Unicode字符数据;

按照流所处理的源分

节点流:从/向一个特定的IO设备读/写数据的流;

处理流:对已存在的流进行连接和封装的流;

过滤流:

抽象的InputStream和OutputStream类允许我们对字串及数字进行读写。为达到这个目的,还需要功能更多的子类。例如:DateInputStream和DataOutputStream允许我们对所有基本的java类型进行读写。

    文件流类与抽象的InputStream和OutputStream类相似,这些类也只支持字节级的读写操作。换言之,只能从fin对象中读取字符和字节数组。byte b=fin.read(),他们没有提供专门的数值类型,所以DataInputStream没有办法从一个文件中获取数字。

解决方案:java给流职责分工,某些流(FileInputStream)负责从文件或另一些更特殊的地方读入字节数据。而另一些流(DataInputStream、PrintWriter)负责将字节“组装”成更有用的数据类型。必须综合运用这两种流,将其合并成所谓的"过滤流(FilteredStreams)",方法是将一个现成的流传递给另一个流的构建器。

字节缓冲流:

BufferedInputStream

BufferedOutputStrem

默认情况下,流不会进行缓冲。即每读一次,都会要求操作系统提供一个字节。通过BufferedInputStream和

BufferedOutputStream对流构建器进行过滤分层,实现缓冲。

文件操作:

public StringgetName()  //返回文件对象名,不包含路径名

  public StringgetPath()    //返回相对路径名,包含文件名

  public StringgetAbsolutePath()   //返回绝对路径名,包含文件名

  public StringgetParent()      //返回父文件对象的路径名

  publicFile   getParentFile()    //返回父文件对象

public longlength()     //返回指定文件的字节长度

  publicboolean exists()    //测试指定的文件是否存在

  public longlastModified()   //返回指定文件最后被修改的时间

public booleanrenameTo(Filedest)  //文件重命名

  publicboolean  delete()   //删除空目录

public booleanmkdir () //创建指定日录,正常建立时返回true

  publicString[] list()    //返回目录中的所有文件名字符串

  public File[]listFiles()    //返回指定目录中的所有文件对象

 

                      (2011/8/30)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值