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. Qt实现表格控件-支持多级列表头、多级行表头、单元格合并、字体设置等

    目录 一.概述 二.效果展示 三.定制表头 1.重写数据源 2.重写QHeaderView 四.设置属性 五.相关文章 原文链接:Qt实现表格控件-支持多级列表头.多级行表头.单元格合并.字体设置等 ...

  2. 解决thinkphp在开发环境下文件模块找不到的问题

    win10系统下,phpstudy开发环境下小问题描述: 找不到public公共模块. Not Found The requested URL /public/admin/login.html was ...

  3. 【风哥干货】快速解决Oracle数据库故障必备的20个脚本与命令

    1.操作系统性能(通常故障出现时最先检查的内容)top.topas.vmstat.iostat.free.nmon 2.万能重启方法 如应急情况,需要重启数据库:tail -100f <对应路径 ...

  4. 2018年东北地区赛S - Problem I. Spell Boost HDU - 6508

    题目地址:https://vjudge.net/problem/HDU-6508 思路:给一些卡,分为四种卡.1.白卡(没效果)2.魔法,作用卡(会对作用卡的费用减少,也会被魔法卡作用)3.作用卡(会 ...

  5. Pandas Series 与 DataFrame 数据创建

    >>> import pandas as pd >>> import numpy as np >>> print(np.__version__), ...

  6. Python C3 算法 手动计算顺序

    Python C3 算法 手动计算顺序   手动计算类继承C3算法原则: 以所求类的直接子类的数目分成相应部分 按照从左往右的顺序依次写出继承关系 继承关系第一个第一位,在所有后面关系都是第一个出现的 ...

  7. 【POJ - 3050】Hopscotch (dfs+回溯)

    -->Hopscotch 这接写中文了 Descriptions: 奶牛们以一种独特的方式玩孩子们的跳房子游戏. 奶牛们创造了一个5x5的格子 他们熟练地跳上其中的一个格子,可以前后左右地跳(不 ...

  8. nexus私服快速update index方法

    简单搭好nexus私服后,做好基本的配置. 稍微麻烦点的就是让其更新Jar索引文件.如果有耐心的话,完全可以通过在线更新索引的方式来做,但所消耗的时间较长,让人误以为出错了,不知所措. 下面介绍一种简 ...

  9. C# 与 JS 之间传值在 cshtml页面中

    @{ string It = "sss"; ; } @functions{ string Mod = "ajssaioi"; public string Itm ...

  10. Tomcat CGIServlet enableCmdLineArguments远程代码执行_CVE-2019-0232漏洞复现

    Tomcat CGIServlet enableCmdLineArguments远程代码执行_CVE-2019-0232漏洞复现 一.漏洞描述 该漏洞是由于tomcat CGI将命令行参数传递给Win ...