王金阳总结(day20)

2021-06-15 19:40发布

1.标准的输入流

1.标准的输入流 System.in ==> public static final InputStream in 默认是关联键盘

public static void setIn(InputStream in) 重新分配标准输入流(改变其默认关联的方式)

 

2.标准的输出流

1.标准的输出流 System.out ==>public static final PrintStream out 默认关联的是控制台

public static void setOut(PrintStream out) 重新分配标准输出流(改变其默认关联的方式)

 

3.打印流

1.打印流 PrintStream  PrintWriter 在控制台进行打印输出

或者是改变其规则 向指定的文件中写入内容

2.PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式

3.获取PrintStream流对象

(1) System.out

(2) 通过构造方法进行获取

4.常规的构造方法

 

方法的名称

方法的说明

public PrintStream(File file)

创建具有指定文件且不带自动行刷新的新打印流

public PrintStream(OutputStream out)

创建新的打印流。此流将不会自动刷新

public PrintStream(OutputStream out, boolean autoFlush)

创建新的打印流 可以进行自动刷新

5.提供了一些打印各种数据类型的重载的方法

  public void print() ==>打印  不换行

  public void println() ==>打印 换行

  public void write()字节 ==>写入到文件中

6.PrintWriter 向文本输出流打印对象的格式化表示形式。此类实现在 PrintStream 中的所有 print 方法。它不包含用于写入原始字节的方法,对于这些字节,程序应该使用未编码的字节流进行写入。

7.常用的构造方法

方法的名称

方法的说明

public PrintWriter(File file)

使用指定文件创建不具有自动行刷新的新 PrintWriter

public PrintWriter(OutputStream out)

根据现有的 OutputStream 创建不带自动行刷新的新 PrintWriter

public PrintWriter(OutputStream out, boolean autoFlush)

通过现有的 OutputStream 创建新的 PrintWriter

public PrintWriter(Writer out)

创建不带自动行刷新的新 PrintWriter

8.常规的方法

  public void print() ==>打印  不换行

  public void println() ==>打印 换行

  public void write()字符 ==>写入到文件中

4.对象序列化

1.序列化就是将对象进行流化  加快对象读取的速度  因为网络交互需要在文件直接操作对象

2.序列化的机制  使用一个序列化的id来表示 文件存储的对象的属性以及方法

3.对象的序列化: 将对象写入到文件中的过程 就是对象序列化 加快写入的速度 效率更高 操作对象  

4.对象反序列化  将文件中对象读取的过程  就是对象反序列化 加快读取的速度  操作读写效率更高

  注意点: 读取与写入的序列化id必须是一致的

5.对象实现序列化  implements Serializable ==>  默认会生成序列化id  

6.对象流

   对象流--ObjectOutputStream

   对象流--ObjectInputStream

5.对象流

1.ObjectOutputStream  对象流-写 通过在流中使用文件可以实现对象的持久存储

2.常用的构造方法

方法的名称

方法的描述

public ObjectOutputStream(OutputStream out)

创建写入指定 OutputStream 的 ObjectOutputStream

3.常规的方法

方法的名称

方法的描述

public final void writeObject(Object obj)

将指定的对象写入 ObjectOutputStream。对象的类中

 4.ObjectInputStream 对象流-

    ObjectInputStream 对以前使用 ObjectOutputStream 写入的基本数据和对象进行反序列化

    使用 ObjectInputStream 读取出文件中对象

5.常用的构造方法

方法的名称

方法是说明

public ObjectInputStream(InputStream in)

创建从指定 InputStream 读取的 ObjectInputStream

6.常用的方法

方法的名称

方法的说明

public final Object readObject()

从 ObjectInputStream 读取对象。对象的类

6.Properties概念

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

   持久化:Properties对象中的数据 永久保存到文件 可以与文件进行交互

   属性集:Properties 就是以键值对来进行存储

2.Properties 可保存在流中或从流中加载  在进行持久化操作的时候 需要借助于流对象

3.属性列表中每个键及其对应值都是一个字符串  键值对存储只能是字符串

4.Properties对象的父类是  Hashtable

5.Hashtable中的一些方法

方法的名称

方法的说明

public V put(K key, V value)

将指定 key 映射到此哈希表中的指定 value。键和值都不可以为 null

public Set<K> keySet()

获取所有的键

public V get(Object key)

根据键来获取值

6.Properties 独有的方法

方法的名称

方法的说明

public Object setProperty(String key, String value)

以键值对来进行存储

public String getProperty(String key)

根据键来获取值

public Set<String> stringPropertyNames()

返回此属性列表中的键集

7.Properties对象的数据保存到文件中

方法的名称

方法的说明

public void store(OutputStream out, String comments)

将此 Properties 表中的属性列表(键和元素对)写入输出流

public void store(Writer writer, String comments)

将此 Properties 表中的属性列表(键和元素对)写入输出字符

8.将文件中的数据读取到Properties对象中

方法的名称

方法的描述

public void load(InputStream inStream)

从输入流中读取属性列表

public void load(Reader reader)

从输入字符流中读取属性列表

8.多参数的方法

1.使用的场景:定义方法的时候 不确定其方法形参的个数 确定其参数的数据类型 这时候就可以使用多参数

  多参数使用... 例子:asList(T... a)

2.语法:

  访问修饰符  返回值类型  方法的名称(T... a) {

    方法体  

    return  返回值    

  }

3.注意点:

   (1) 多参数 ... 表示是一个数组

   (2) 多参数的数据类型是一致  但是个数可以是多个

   (3) 如果方法中有多个形参 多参数必须写在最后

   (4) 一个方法中只能有一个形参为多参数