12--黑马程序员--技术总结之IO流

本文详细介绍了Java中的I/O流概念,包括流的定义、分类以及File类的相关操作,如获取文件信息、创建目录、列出目录内容、文件的创建与删除。示例代码展示了如何使用File类进行文件的读写操作,如FileInputStream和FileOutputStream的应用。
摘要由CSDN通过智能技术生成

----------------------ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------

一.流的相关概念

        1.流的定义
        I/O流提供一条通道程序,可以使用这条通道把源中的字节序列送到目的地。把输入流的指向称为源,程序从指向源的输入流中读取源中的数据。而输出流的指向是数据要
到达的一一个目的地,程序通过向输出流中写入数据把信息传递到目的地。虽然I/O流经常与磁盘文件存取有关,但是程序的源和目的地也可以是键盘、鼠标、内存或显示器窗口。
       Java的I/O流库提供大量的流类(在包java.io中)o其中,所有输入流类都是抽象类InputStream(字节输入流)或抽象类Reader(字符输入流)的子类,而所有输出流都是抽象类OutputStream(字节输出流)或抽象类Writer(字符输出流)的子类。把输入流的指向称为源,程序从指向源的输入流中读取源中的数据。而输出流的指向是数据要到达的一个目的地,程序通过向输出流中写入数据把信息传递到目的地,如下图所示: 

        2.流的分类:
        1)按流向分为输入流和输出流;
        2)按传输单位分为字节流(InputStream和OutputStream)和字符流(Reader和Writer);
        3)按功能还可以分为节点流和过滤流。
        节点流:负责数据源和程序之间建立连接;(相当于裸枪)
        过滤流:用于给节点增加功能。(相当于功能零部件)
        过滤流的构造方式是以其他流位参数构造(这样的设计模式称为装饰模式)。
        注:I/O流是一类很宝贵的资源,使用完后必须调用close()方法关闭流并释放资源。在关闭流时只用关闭最外层的流。  

二.File类
        File类的对象主要用来获取文件本身的一些信息,例如文件所在的目录、文件的长度、文件读写权限等,不涉及对文件的读写操作。
        创建一个File对象的构造方法有3个:
        File (String  filename);
        File (String directoryPath, String  filename);
        File (File f,  String  filename);
        其中,filename是文件名字,directoryPath是文件的路径.f是指定成一个目录的文件。
        使用File(String filename)创建文件时,该文件被认为是与当前应用程序在同一目录中。

         1.文件的属性
        经常使用File类的下列方法获取文件本身的一些信息:
        ◆  public String getName()获取文件的名字。
        ◆  public boolean canRead()判断文件是否是可读的。
        ◆  public boolean canWrite()判断文件是否可被写入。
        ◆  public boolean exits()  判断文件是否存在。
        ◆  public long length()获取文件的长度(单位是字节)。
        ◆  public String getAbsolutePath()获取文件的绝对路径。
        ◆  public String getParcnt()获取文件的父目录。
        ◆  public boolean isFile()判断文件是否是一个正常文件,而不是目录。
        ◆  public boolean isDirectory()判断文件是否是一个目录。
        ◆  public boolean isHidden()  判断文件是否是隐藏文件。
        ◆  public long lastModified()获取文件最后修改的时间(时间是从1970年午夜至文件最后修改时刻的毫秒数)。
代码示例:

[html]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. public class FileDemo1 {  
  2.   
  3.     /**使用上述的一些方法,获取某些文件的信息  
  4.      * @黑马ZWF  
  5.      */  
  6.     public static void main(String[] args) {  
  7.         // TODO Auto-generated method stub  
  8.         File f1 = new File("G:\\新建文件夹(2)","FileDemo1.java");  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值