FileWriter 文件字符输出流 extends Writer

构造方法

  FileWriter(String filename)

  FileWriter(File file)

flush()方法:刷新缓冲区,流对象可以继续使用

close()方法:先刷新缓冲区,然后通知系统释放资源,流对象不可以再使用

FileReader 文件字符输入流

构造方法

  FileReader(String filename)

  FileReader(File file)

IO异常处理

JDK7之前

JDK7

JDK9

Properties类 表示一个持久的属性集

  Properties集合extends Hashtable<k,v> implement Map<k,v>

  可保存流中或从流中加载,Properties集合是一个唯一和IO流相结合的集合

  操作字符串特有的方法

    Object setProperty(String key,String value)

    String getProperty(String key)  通过key找到value值,相当于Map集合get()方法

  Set<String> StringPropertynames()  返回属性列表中的键集,相当于Map集合中的keySet()方法

  store()方法  把集合中的临数据,持久化写入到硬盘中存储

  load()方法  把硬盘中保存的文件(键值对)读取到集合中使用

BufferedInputStream 字节缓冲输入流

构造方法

  BufferedInputStream(InputStream in)

  BufferedInputStream(InputStream in,int size)  int size为设置缓冲区大小

BufferedOutputStream 字节缓冲输出流

构造方法

  BufferedOutputStream(OutputSteam in)

  BufferedOutputStream(OutputStream in,int size)

BufferedReader 字符缓冲输入流

构造方法

  BufferedReader(Reader in)

  BufferedWriter(Writer in)

特有方法

转换流

  字符编码

    计算机中储存的信息都是用二进制数表示的,而我们在屏幕上看到的数字、英文、标点符号、汉字等字符是二进制

    数转换之后的结果。按照某种规则,将字符存储到计算机中,称为编码 。反之,将存储在计算机中的二进制数按照
    某种规则解析显示出来,称为解码 。比如说,按照A规则存储,同样按照A规则解析,那么就能显示正确的文本f符
    号。反之,按照A规则存储,再按照B规则解析,就会导致乱码现象。 

  InputStreamReader类

  构造方法

  OutputStreamWriter类

  构造方法

序列化

  Java 提供了一种对象序列化的机制。用一个字节序列可以表示一个对象,该字节序列包含该 对象的数据 、 对象的
  类型 和 对象中存储的属性 等信息。字节序列写出到文件之后,相当于文件中持久保存了一个对象的信息。
  反之,该字节序列还可以从文件中读取回来,重构对象,对它进行反序列化。 对象的数据 、 对象的类型 和 对象中
  存储的数据 信息,都可以用来在内存中创建对象。看图理解序列化:
ObejectOutputSteam类
构造方法

序列化操作条件

  该类必须实现 java.io.Serializable 接口, Serializable 是一个标记接口,不实现此接口的类将不会使任
  何状态序列化或反序列化,会抛出 NotSerializableException 。
  该类的所有属性必须是可序列化的。如果有一个属性不需要可序列化的,则该属性必须注明是瞬态的,使用
  transient 关键字修饰。

  写出对象方法  public final void writeObject(Obeject obj)

ObejectInputStream类

构造方法

读取对象的方法  public final Obeject readObject()

打印流

  平时我们在控制台打印输出,是调用 print 方法和 println 方法完成的,这两个方法都来自于

  java.io.PrintStream 类,该类能够方便地打印各种数据类型的值,是一种便捷的输出方式。
  PrintSteam类
  构造方法

  setOut()改变打印目的地

java-day16的更多相关文章

  1. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  2. 【Java入门提高篇】Day16 Java异常处理(上)

    当当当当当当,各位看官,好久不见,甚是想念. 今天我们来聊聊Java里的一个小妖精,那就是异常. 什么是异常?什么是异常处理? 异常嘛,顾名思义就是不正常,(逃),是Java程序运行时,发生的预料之外 ...

  3. 【Java入门提高篇】Day16 Java异常处理(下)

    今天继续讲解java中的异常处理机制,主要介绍Exception家族的主要成员,自定义异常,以及异常处理的正确姿势. Exception家族 一图胜千言,先来看一张图. Exception这是一个父类 ...

  4. java基础-day16

    第05天 API 今日内容介绍 u  Object类 & System类 u  日期相关类 u  包装类&正则表达式 第1章   Object类 & System类 1.1  ...

  5. java 多线程 day16 CountDownLatch 倒计时计数器

    import java.util.concurrent.CountDownLatch;import java.util.concurrent.CyclicBarrier;import java.uti ...

  6. Java之路---Day16(泛型)

    2019-11-02-23:25:26 目录 1.泛型的概念: 2.泛型的定义和使用: 2.1定义和使用含有泛型的类: 2.2定义和使用含有泛型的方法: 2.3定义和使用含有泛型的接口: 泛型的概念: ...

  7. Java学习day16

    IO流即输入/输出流,按数据类型分为:字节流和字符流 与IO有关的操作最后都要释放,使用close方法 以字节流形式写入数据后需要换行可以添加换行符,注意旧版系统之间识别的换行符不相同,旧版Windo ...

  8. Java第三方数据库连接池库-DBCP-C3P0-Tomcat内置连接池

    连接池原理 数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”.预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去.我们可以通过设定连接池 ...

  9. 【Java EE 学习 16 下】【dbutils的使用方法】

    一.为什么要使用dbutils 使用dbutils可以极大程度的简化代码书写,使得开发进度更快,效率更高 二.dbutils下载地址 http://commons.apache.org/proper/ ...

  10. 【Java EE 学习 16 上】【dbcp数据库连接池】【c3p0数据库连接池】

    一.回顾之前使用的动态代理的方式实现的数据库连接池: 代码: package day16.utils; import java.io.IOException; import java.lang.ref ...

随机推荐

  1. FM算法组合估计

    #include <stdio.h> #include <math.h> #include <stdlib.h> #include <time.h> # ...

  2. Codeforces 1191B Tokitsukaze and Mahjong

    题目链接:http://codeforces.com/problemset/problem/1191/B 题意:类似于麻将,三个一样花色一样数字的,或者三个同花顺就赢了,新抽的能当任何类型,问至少几个 ...

  3. VSCode 中文乱码

    方式一 vscode 菜单栏:  文件 >> 首选项 >> 设置 搜索: "files.autoGuessEncoding": false, 改为: &qu ...

  4. java中Date日期类型的大小比较

    方法一:java.util.Date类实现了Comparable接口,可以直接调用Date的compareTo()方法来比较大小 String beginTime = "2018-07-28 ...

  5. 全网最热Python3入门+进阶 更快上手实际开发✍✍✍

    全网最热Python3入门+进阶 更快上手实际开发  整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问 ...

  6. 拓展KMP求回文串

    题目:hdu3613: 题意:有26字母对应的价值,然后给出以个串,把它分成两段字串,如果字串是回文串,串的价值就是每个字符和,不是就为0.求最大价值. 博客 分析:拓展KMP的应用求回文字串. #i ...

  7. hdu6325 /// 上凸包

    题目大意: 给定n 为n个点 给定n个点的坐标 两个点(xi,yi) (xj,yj)之间的花费是 xi*yj-yi*xj (可能为负数) 要求从点1经过若干个点到点n最小花费的路径 且路径要按x轴方向 ...

  8. Oracle中NEXTVAL 和 CURRVAL的使用

    能够通过在 SQL 语句中使用 NEXTVAL 或 CURRVAL 运算符来訪问序列的值.必须用以 sequence.NEXTVAL 或sequence.CURRVAL 格式驻留在同一个数据库中的序列 ...

  9. Android USB Host 与 HID 之通讯方法(bulkTransfer()与controlTransfer()方法使用)

    转载地址:差满多乃几 Android USB Host与HID通讯,就目前Google Developer提供的方法有bulkTransfer()与controlTransfer(),看是简简单单的两 ...

  10. 2018-6-17-win10-UWP-全屏

    title author date CreateTime categories win10 UWP 全屏 lindexi 2018-06-17 17:51:19 +0800 2018-2-13 17: ...