1.File文件的属性和操作

boolean exists( )  判断文件或目录是否存在
boolean isFile( )  判断是否是文件
boolean isDirectory( ) 判断是否是目录
String getPath( ) 返回此对象表示的文件的相对路径名
String getAbsolutePath( )   返回此对象表示的文件的绝对路径名
String getName( ) 返回此对象表示的文件或目录的名称
boolean delete( ) 删除此对象指定的文件或目录
boolean createNewFile( ) 创建名称的空文件,不创建文件夹
long  length() 返回文件的长度,单位为字节, 如果文件不存在,则返回 0L
 
2.io流的分类:

流:一串流动的字符,以先进先出的方式读取数据的通道。

根据流的方向分为:输入流和输出流。

由处理数据单元大小的分为:字节流和字符流

3.文本文件的读写
 
  普通文本文件的读写---

用FileInputStream和FileOutputStream读写文本文件
 
 用BufferedReader和BufferedWriter读写文本文件

二进制文件的读写---使用DataInputStream和DataOutputStream读写二进制文件

4.字节流 InputStream / OutputStream

4.1 字节输入流:FileInputStream

常用方法
   int read( )
   int read(byte[] b)
   int read(byte[] b,int off,int len)
   void close( )
   int available()
  常用构造方法
   FileInputStream(File file)
   FileInputStream(String name)
 
 4.2 字节输出流:FileOutputStream

常用方法:
   void write(int c)
   void write(byte[] buf)
   void write(byte[] b,int off,int len)
   void close( )
  常用构造方法:
   FileOutputStream (File file)
   FileOutputStream(String name) 
   FileOutputStream(String name,boolean append)

补充:1.FileOutputStream:对象中地址参数,如果存在直接查找;如果不存在,先创建在查找。
        FileInputStream :对象中地址参数,如果不存在报错。

2.FileOutputStream:对象中只有地址参数,输入的数据信息会替换掉原文件中的内容;
                           再加一个参数true,就可以在内容后面追加。

3.关闭的顺序:先开后关。

5.字符流 Reader / Writer

5.1字符输入流:FileReader
  
  常用方法:int read( )
   int read(byte[] c)
   read(char[] c,int off,int len)
   void close( )
  ---缓冲字符输入流:BufferedReader

特有方法:readLine()
   构造:BufferedReader(Reader in)

5.2字符输出流:FileWriter 
 
  常用方法:write(String str)
   write(String str,int off,int len)
   void close()
   void flush()

---缓冲字符输入流:BufferedWriter

构造:BufferedReader(Writer out)

补充:缓冲区---有缓冲区,数据会先存放在缓冲区里,当缓冲区填满后,在整体处理缓冲区

没有缓冲区:数据读一个写一个,效率低,占用服务器资源。

6:二进制文件的读写:DataInputStream  和 DataOutputStream

与字节流结合使用,实现图片的复制

java中File IO流的笔记的更多相关文章

  1. java中的IO流

    Java中的IO流 在之前的时候我已经接触过C#中的IO流,也就是说集中数据固化的方式之一,那么我们今天来说一下java中的IO流. 首先,我们学习IO流就是要对文件或目录进行一系列的操作,那么怎样操 ...

  2. Java中的IO流总结

    Java中的IO流总结 1. 流的继承关系,以及字节流和字符流. 2. 节点流FileOutputStream和FileInputStream和处理流BufferedInputStream和Buffe ...

  3. Java中的IO流,Input和Output的用法,字节流和字符流的区别

    Java中的IO流:就是内存与设备之间的输入和输出操作就成为IO操作,也就是IO流.内存中的数据持久化到设备上-------->输出(Output).把 硬盘上的数据读取到内存中,这种操作 成为 ...

  4. Java中的IO流(五)

    上一篇<Java中的IO流(四)>记录了一下Properties类,此类不属于IO流,它属于集合框架.接下来说一下IO流中的其它流 一,打印流PrintStream PrintStream ...

  5. Java中的IO流(六)

    上一篇<Java中的IO流(五)>把流中的打印流PrintStream,PrintWriter,序列流SequenceInputStream以及结合之前所记录的知识点完成了文件的切割与文件 ...

  6. Java中的IO流(四)

    上一篇<Java中的IO流(三)>把IO流中的文件及目录操作的对象File类记录了一下,本篇把本不属性IO流但又和IO流有关系的一个对象作一下记录,此对象本属于集合框架里的一个子集,即Pr ...

  7. Java中的IO流(三)

    上一篇<Java中的IO流(二)>把学习Java的字符流以及转换流作了一下记录,从本篇开始将把IO流中对文件或文件夹操作的对象File类的学习进行一下记录. 一,File类的构造函数及字段 ...

  8. Java中的IO流(二)

    上一篇<Java中的IO流(一)>把学习IO流的字符流作了一下记录,本篇把字节流记录一下. 一,Java中的字节流 Java中的字节流的操作方式与字符流的操作方式大致相同,连方法名都是类似 ...

  9. Java中的IO流之输出流|乐字节

    大家好,乐字节小乐又来了.上一篇给大家带来的是:Java中的IO流之输入流|乐字节,本文将继续讲述IO流之输出流.   一.输出流 1.抽象类:OutputStream 和 Writer Output ...

随机推荐

  1. django基础知识之后台管理Admin站点:

    Admin站点 通过使用startproject创建的项目模版中,默认Admin被启用 1.创建管理员的用户名和密码 python manage.py createsuperuser 然后按提示填写用 ...

  2. 分享几个能用的editplus注册码/2018年序列号

    注册名:host1991 序列号:14F50-CD5C8-E13DA-51100-BAFE6     注册名:360xw    注册码:93A52-85B80-A3308-BF130-40412   ...

  3. Golang 受欢迎的原因:大道至简

    前言 Golang自2009年发布第一个版本,2012年发布1.0版本.在这10年的时间里,不断有开发者加入Golang的阵营中,不断共建Golang生态.其中比较有代表性的Golang编写软件作品是 ...

  4. STM32F072从零配置工程-自定义时钟配置详解

    从自己的板子STM32F407入手,参考官方的SystemInit()函数: 核心在SetSysClock()这个函数,官方默认是采用HSE(设定为8MHz)作为PLL锁相环的输入输出168MHz的S ...

  5. I/O:DataInput

    DataInput: boolean readBoolean() :读取一个输入字节,如果该字节不是零,则返回 true,如果是零,则返回 false. byte readByte() :读取并返回一 ...

  6. <a>标签 IOS 安卓 亲测有效

    一.普通链接 <a href="http://www.baidu.com">百度</a> 二.邮件链接 1.标签最简式 <a href="m ...

  7. 个人永久性免费-Excel催化剂功能第73波-数据转换:单行多项目转多行单项目

    数据分析的前半部分数据处理.转换等工作是一个又脏又累的活,默默地干着,却又不出彩让人看到过程的艰辛和成果.如何让这个过程可以更加轻松一点,是Excel催化剂为大家所想的,今天带来一大刚需的数据转换功能 ...

  8. Excel催化剂开源第6波-Clickonce部署之自动升级瘦身之术

    Clickonce无痛自动更新是我最喜欢使用VSTO开发并Clickonce部署的特性之一,但这个自动更新,通常会更新整个程序文件,包含所有的引用dll和一些资源文件等. 一般来说,我们更新的都是主程 ...

  9. 人民网基于FISCO BCOS区块链技术推出“人民版权”平台

    FISCO BCOS是完全开源的联盟区块链底层技术平台,由金融区块链合作联盟(深圳)(简称金链盟)成立开源工作组通力打造.开源工作组成员包括博彦科技.华为.深证通.神州数码.四方精创.腾讯.微众银行. ...

  10. 前端响应式のmedia文件分离

    响应式cssのmedia文件分离 media简介 1.媒体查询,添加自CSS3 2.一个媒体查询由一个可选的媒体类型和零个或多个使用媒体功能的限制了样式表范围的表达式组成,允许内容的呈现针对一个特定范 ...