20180827_老师笔记_IO流

IO笔记  i: input 输入   O: Output 输出

  1. File类, 位于java.io,   

Java中, 使用File类表示文件夹(目录)或者文件

  硬盘的包含的东西:  文件夹   文件

 

文件: 文件夹路径:  

  Window操作系统: 绝对路径:   从盘符开始   d:\a\b\c.txt  window的路径分隔符:

\    à windown的分隔符

 Linux: 路径: 从根目录开始  /a/c/test.txt  分割符: /

   Java 中:  String path = “d:\a\b\c.txt”;

            String path = “d:/a/b/c.txt”

File的属性:

  

static String

separator   表示分隔符, 跨平台

 

构造方法:

File(File parent, String child)  

 Parent: 父目录 , child 访问的文件名,或者的访问的文件夹的名字
          

File(String pathname)
          通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。

File(String parent, String child)
          根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。

 

常用方法:

  对文件,文件夹有什么操作:

    读文件/文件夹信息

  1. 获取文件夹/文件的名字:  getName()
  2. 获取路径: getPath() 获取路径
  3. 判断是否是一个文件夹(目录)  isDirectory()  true 是一个目录,  false 不是
  4. 判断是否是一个文件  isFile()  true 是一个文件,  false 不是
  5. 获取文件夹/文件的最后一次修改时间: long lastModified()  时间的毫秒值
  6. 获取某个文件的大小  length()  B字节
  7. 判断某个文件夹/文件是否存在 boolean  exists()  true 表示存在   false不存在

    修改.创建文件夹,文件

  1.  新建文件夹:  
       mkdir()  只创建本级文件夹, 如果上级目录不存在,创建失败,如果上级目录存在,能创建
     mkdirs()  如果上级目录不存在,创建上级目录, 再创建本级目录
     
  2. 创建文件:
      createNewFile()
    File只能创建文件,不能给文件添加内容, 添加内容(IO流)
  3. 删除文件/文件夹  delete()
     注意: delete()删除文件夹, 要求该文件夹是一个空文件夹(没有子文件夹,子文件)
  4.  获取某个文件夹下的所有的子文件,子文件夹
    String[] list()  表示返回的是子文件夹,文件的路径的字符串
    File[] listFiles( )  表示返回的是子文件夹,文件的File对象
    File[] listFiles(FileFiter 筛选文件的过滤器)

 

2.IO类

   

IO分类:

  1. 按照方向分类
       输入流
       输出流
  2. 按照读写数据的大小
       字节流: 一次性只能读写一个字节
       字符流: 一次性只能读写一个字符(2个字节)
  3. 按照作用:
      节点流:  可以直接接在文件,网络上
      处理流: 不能直接接在网络,文件上,只能嵌套在其他IO上

 

IO流的所有的类都是位于java.io包下:

 

输入流:  常用的方法:  read() 读取   close() 关闭

输出流: 常用的方法: write() 写入  close() 关闭

 

 

文件复制: ctrl + c:  把文件中的数据 读取到内存

文件粘贴: ctrl + v:  把内存的数据, 写入到文件

 

3.文件的字节输入流, 文件的字节输出流:

  FileInputStream                 FileOutputStream   都是节点流

FileInputStream :

   构造方法:

FileInputStream(File file)      file表示硬盘某个文件的File对象

FileInputStream(String filename)       filename: 硬盘某个文件的路径

   常用方法:

 void

close()   关闭IO流

 int

read() 
          从此输入流中读取一个数据字节。 返回值

 int

read(byte[] b) 
          从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。

 

  返回时b数组存放的长度

 int

read(byte[] b, int off, int len) 
          从此输入流中将最多 len 个字节的数据读入一个 byte 数组中。

 int

available()   得到某个文件估计的大小  单位是字节

 

  把d:/info/a.txt 中内容读取到程序中, 并且在控制台显示

   FileInputStream: 一次读1个字节

  使用步骤:

  1. 创建IO的对象
  2. 调用IO的read() 读取数据
  3. 关闭IO流

 

FileOutputStream 文件字节输出流:

  构造方法:

   FileOutputStream(File file)     默认append 为false

FileOutputStream(File file, boolean append)

FileOutputStream(String file)

FileOutputStream(String file, boolean append)

 

注意: 如果这个文件不存在, 输出流会创建文件, 但是不能创建上级目录

append的作用: 是否追加, 默认值为false, 不追加, 会覆盖文件已有的内容

                         true, 追加  不会覆盖文件已有的内容,新写入的内容在文件末尾添加

常用方法:

 void

close() 

 void

write(byte[] b) 
          将 b.length 个字节从指定 byte 数组写入此文件输出流中。

 void

write(byte[] b, int off, int len) 
          将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此文件输出流。

 void

write(int b) 
          将指定字节写入此文件输出流。

 

步骤:

  1. 创建输出流对象
  2. 调用write()写一个字节(循环写)
  3. 关闭资源

 

 

文件复制粘贴

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值