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. Jpa 笔记

    ORM 思想 对象关系映射, 建立实体类和表的关系映射关系, 实体类和表中字段的映射关系,我们操作实体类底层是操作数据表, 进而自动的拼接出SQL语句 Jpa规范 Jpa(Java Persisten ...

  2. 工具资源系列之给 windows 虚拟机装个 mac

    众说周知,Mac 很好但也很贵,对一般大众而言,漂亮简洁高颜值,对软件开发者而言,方便省心有点贵. 好到什么程度? 内置大量常用的开发工具,省去了初学者安装配置环境的麻烦,版本控制工具 svn 默认已 ...

  3. kindeditor在线文本编辑器过滤HTML的方法

    在使用kindeditor文本编辑器时遇到的问题,客户直接从Excel里粘贴文本内容到文本编辑器中(能不能再懒一些),然后不调整粘贴内容直接就保存(你敢不敢再懒一些)!对于这种很无语的行径,我只能对他 ...

  4. C语言学习书籍推荐《C语言程序设计 现代方法(第2版)》下载

    下载地址:点我 C语言仍然是计算机领域的通用语言之一,但现在的C语言已经和当初的时候大不相同了.本书主要的一个目的就是通过一种“现代方法”来介绍C语言,书中强调标准C,强调软件工程,不再强调“手工优化 ...

  5. python数据库-MongoDB的安装(53)

    一.NoSQL介绍 1.什么是NoSQL NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL". NoSQL,指的是非关系型的数据库.NoSQL有时也称 ...

  6. 深入学习Spring框架(四)- 事务管理

    1.什么是事务? 事务(Transaction)是一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的工作单位,是数据库环境中的逻辑工作单位.事务是为了保证数据库的完整性.例如:A给B转账,需 ...

  7. 【POJ - 2253】Frogger (Floyd算法)

    -->Frogger 中文翻译 Descriptions: 湖中有n块石头,编号从1到n,有两只青蛙,Bob在1号石头上,Alice在2号石头上,Bob想去看望Alice,但由于水很脏,他想避免 ...

  8. 跨站脚本攻击(反射型xss)笔记(一)

    环境:一个微信端(所以用浏览器演示UI有点变形) 下图是未插任何脚本时的原页面. 按惯例,上一波["><script>alert(1)</script>] 无弹 ...

  9. g++ -std=c++11 -g -o test emit_log_direct.cpp

    g++ -std=c++11 -g -o test  emit_log_direct.cpp

  10. vs2010编译zapline-zapline.systemoptimization 注释工程中的//#define abs(value) (value >= 0 ? value : -(value))即可

    vs2010编译zapline-zapline.systemoptimization-8428e72c88e0.zip出错 1>d:\program files (x86)\microsoft ...