zoukankan      html  css  js  c++  java
  • day19 IO编程

    文件:文件是数据源(保存数据的地方)的一种。

    文件在程序中是以流的形式来操作的

    内存(程序)到文件是输出流,文件到内存(程序)是输入流。

    字节流:可用于读写的二进制文件及任何类型文件。

    字符流:可以用于读写文本文件,不能操作二进制文件。

    字节流:

    OutPutStream:输出流

    InPutStream:输入流

    字符流:

    reader:输入流

    writer:输出流

    抒写步骤:

    1、判断输入还是输出。

    2、判断字节还是字符。

    3、通过子类实例化父类对象。

    3、进行读写操作。

    4、关闭输入输出流。

    需要牢记的代码:

    try{

    FileInPutStream fips = new FileInPutStream("文件路径");

    FileOutPutStream fops = new FileOutPutStream("文件路径");

    Byte[] bt = new Byte[];

    int length = 0;

    while((length=fips.read(bt))!=-1){

    fops.write(bt);

    fops.flush();

    }

    }

    catch (FileNotFoundException f) {
       f.printStackTrace();
      } catch (IOException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }

      finally {
       if (fips != null) {
        try {
         fips.close();
        } catch (IOException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
        }
       }
       if (fops != null) {
        try {
         fops.close();
        } catch (IOException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
        }

       }
      }

    }

    对象序列化与反序列化

    分布式应用的基础:对象序列化:将内存中的对象以二进制流的形式输出。

                             对象反序列化:将输入的二进制流转化为内存中的对象(第二种产生对象的方式)。

    serializable:标识接口,对象序列化之前必须实现标识接口。

    标识接口:允许实现它的类,进行某项操作,一般不含抽象方法。

    关键字transient:它修饰的属性,其值不参与序列化。

  • 相关阅读:
    硬盘内部结构简析
    python之集合
    Python中的浅拷贝与深拷贝
    Python内存管理机制
    python之编码decode
    project euler之Large sum
    project euler之 网格中最大的产品
    project euler之 素数的总和
    project euler之特殊的毕达哥拉斯三重奏
    project euler之系列中最大的产品
  • 原文地址:https://www.cnblogs.com/fengshaolingyun/p/6180969.html
Copyright © 2011-2022 走看看