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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


  
流操作的基本规律:

通过三个来明确完成

1、明确源和目的
  源:输入流     InputStream  Reader
  目的:输出流   OutputStream Writer
2、操作的数据是否是纯文本(在明确源和目的的情况下)
  是:字符流  
  不是:字节流
  3、当体系明确后,在明确要使用哪个具体对象。
   通过设备来进行区分:
   源设备:内存、硬盘、键盘
   目的设备:内存、硬盘、控制台
  例子:将一个文本文件中数据存储到另一个文件中。复制文件。
   
   源:因为是源,所以使用读取流。  InputStream  Reader
       是不是操作文本文件:是,这时就可以选择Reader
       这样体系就明确了。
   
      接下来明确要使用该体系中的哪个对象。
      明确设备,硬盘上一个文件
      Reader体系中可以操作文件的对象是 FileReader
       是否需要缓冲区(数据小的就可以不需要):是,加入Reader体系中缓冲区BuffereReader.
       FileReader r = new FileReader("读取数据路径");
      BuffereReader b = new BuffereReader(r);
   
       目的:OutputStream Writer
      是否是纯文本。
      是,Writer.
      设备:硬盘一个文件。
      Writer体系中可以操作文本的对象是FileWriter.
             是否需要缓冲区(数据小的就可以不需要):是,加入Writer体系中缓冲区BuffereWriter.
      FileWriter r = new FileWriter("存放数据路径");
     BuffereWriter b = new BuffereWriter(r);
  用于操作字节数组的流对象
   
  ByteArrayInputStream:在构造的时候,需要接受数据源,而且数据源是一个字节数组
  
  ByteArrayOutputStream:在构造的时候,不用定义数据目的,因为该对象已经内部封装了可变长度的字节数组。、
  这就是数据目的。
  因为这个两个流对象都操作的数组,并没有使用系统资源。
  所以,不用进行close()关闭

在操作规律讲解时:
  源设备:
   键盘 System.in , 硬盘 FileStream , 内存 ArrayStream
  目的设备:
   键盘 System.out , 硬盘 FileStream , 内存 ArrayStream
   
  用流的读写思想操作数据用于操作字节数组的流对象
   
  ByteArrayInputStream:在构造的时候,需要接受数据源,而且数据源是一个字节数组
  
  ByteArrayOutputStream:在构造的时候,不用定义数据目的,因为该对象已经内部封装了可变长度的字节数组。、
  这就是数据目的。
  因为这个两个流对象都操作的数组,并没有使用系统资源。
  所以,不用进行close()关闭

在操作规律讲解时:
源设备:
   键盘 System.in , 硬盘 FileStream , 内存 ArrayStream
目的设备:
   键盘 System.out , 硬盘 FileStream , 内存 ArrayStream
   
用流的读写思想操作数据。
File类常见的方法

  1、创建
   boolean createNewFile():在指定目下创建文件,如果该文件已存在就不创建(返回false),否则就创建(返回true)
          跟输出流创建文件不一样,输出流对象就建立文件,而且已有文件文件,会覆盖
  2、删除
   boolean detele():删除此抽象路径名表示的文件或目录。
    deteleOnExit();在程序退出时删除指定文件
  3、判断
   boolean exists():判断文件是否存在。存在返回true,否则false
   isFile();//判断此抽象路径名表示的文件存在且 是一个标准文件时,返回 true;否则返回 false
   isDirectory();//判断此抽象路径名表示的文件存在且 是一个目录时,返回 true;否则返回 false
   isHidden();判断是否是隐藏文件
   isAbsolute();//判断抽象路径名是绝对路径名,则返回 true;否则返回 false
  4、获取信息
   getName():得到文件的名称,该名称是路径名名称序列中的最后一个名称
   getPath():
   getParent():得到抽象路径名指定父目录的路径名字符串(也就是得到上一级目录的名称);
    如果此路径名没有指定父目录,则返回 null
   length() :得到文件的长度
  lastModified() :得到文件最后一次修改的时间
   getAbsoluteFile() ://得到文件的相对路径
  5、创建目录:
   mkdir():当已创建目录时,返回 true;否则返回 false 。创建一级目录
mkdirs():已创建目录以及所有必需的父目录时,返回 true;否则返回 false 。创建多级目录


评分

参与人数 1黑马币 +20 收起 理由
黄奕豪 + 20 赞一个!

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马