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. easyui datagrid 单元格 编辑时 事件 修改另一单元格

    //datagrid 列数据 $('#acc').datagrid({ columns : [ [ { field : 'fee_lend', title : '收费A', width : 100, ...

  2. Thread-Per-Message设计模式

    import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.TimeUnit; public class Te ...

  3. [Asp.net] C# 操作Excel的几种方式 优缺点比较

    在项目中我们常常需要将数据库中的数据导出成Excel文件 有一次工作中我的目的就是读取Excel到内存中,整理成指定格式 整理后再导出到Excel. 因为我要处理的每个Excel表格文件很大.一个表格 ...

  4. SpringBoot基于数据库实现简单的分布式锁

    本文介绍SpringBoot基于数据库实现简单的分布式锁. 1.简介 分布式锁的方式有很多种,通常方案有: 基于mysql数据库 基于redis 基于ZooKeeper 网上的实现方式有很多,本文主要 ...

  5. 洛谷P3877 [TJOI2010]打扫房间 解题报告

    首先整理一下条件: 1.恰好进出每个需打扫的房间各一次 2.进出每个房间不能通过同一个门 (其实前两个条件是一回事) 3.要求每条路线都是一个闭合的环线 4.每条路线经过的房间数大于2 让你在一个n* ...

  6. 小白之入口即化——十分钟看懂while循环,字符串格式化,运算符

    while循环 while循环-死循环 while空格+条件+冒号 缩进+循环体 3.打断死循环 break--终止当前循环 while True: print(123) print(234) bre ...

  7. NameNode故障处理方法

    NameNode故障处理方法 简述 NameNode故障后,可以通过下列两种方式进行恢复数据: 方法一(手动):将SecondaryNameNode文件下的数据复制到NameNode中 方法二(程序) ...

  8. 使用java Apache poi 根据word模板生成word报表

    项目开发过程中,客户提出一堆导出报表的需求,需要导出word格式,页眉还需要加上客户公司的logo,试了几种方案,最后选择了用 Apache poi 加上自定义标签的方式实现. 目前功能还比较简单,一 ...

  9. myeclipse中更改默认jdk版本出错( Target is not a JDK root. System library was not found)

    原因是我的本地jdk版本是9.0,将jdk版本更改至8.0即可导入成功. jdk9.0导入myeclipse中去会有此类问题的发生,因此没有必要使用最新的jdk版本.

  10. IO-Java实现文件的复制

    public class FileCopy { public static void main(String[] args) throws IOException { // 1.创建一个字节输入流对象 ...