zoukankan      html  css  js  c++  java
  • Java编程思想——标准 I / O

    将Syetem.out转换成PrintWriter

    标准I/O重定向: 控制台信息量大,滚动快,查看困难

        setIn(InputStream) setOut(...) setErr(...)

    新I/O库,提高速度; 方式:使用的结构更接近操作系统执行I/O的方式:通道和缓冲器。

        通道:包含数据的矿藏;缓冲器:运送数据的车; 屏蔽底层信息,封装耗时,适用于大型文件操作。

        唯一与通道交互缓冲器:ByteBuffer; FileInputStreamFileOutStreamRandomAccessFile 被改造产生FileChannel。

    文件加锁(针对大文件)

        tryLock(long position, long size, loolean shared)

        lock(long position, long size, boolean shared)

        //起始位置,大小,共享锁(视OS而定,有的有,有点没有),可通过FileLock.isShared()查询部分加锁后文件的变化。

    压缩:1. 文件大,通过压缩改变大小;2.文件多,通过压缩改变文件数量; 控制台操作 传入文件名参数。

        CheckedInputStream(或Output) 进行校验

        DeflaterOutputStream 压缩基类:GZipOutput/ZipOutputStream 压缩成GZIP/ZIP,Input 为解压。

        GZIP接口简单,适合单个数据流压缩。

        ZIP适合进行多文件保存,使用接口,ZipEntry(); putNextEntry();

            ZipOutputStream.setComment(String); 压缩文件备注

    档案文件 .JARs 跨平台压缩文件

        通过在Jar文件的manifest(文件清单)中定义一个main类就可以创建一个可执行的Jar文件。

    对象序列化  对象需要实现Serializable接口 (基于二进制自动处理)    

        create OutputStream object;  

        wrap in  a ObjectOutputStream object

        use writeObject() to serializable

        send to OutputStream

        在读的时候需要转型!(序列化:将实现S接口的对象转化为一个字节序列,并可以在以后恢复为原对象)

        特殊情况可以通过Enternalizable接口代替S实现控制。

        增添两个方法:writeExternal() 和 readExternal()

    寻找类 需要有class环境 才能还原序列化

    transient(瞬时)关键字  表示敏感信息,关闭序列化,不会被记录。

  • 相关阅读:
    AI boxfilter
    AI AdaBoost算法
    AI Haar特征
    15.VUE学习之-表单中使用key唯一令牌解决表单值混乱问题
    14.VUE学习之-v-if v-else-if语法在网站注册中的实际应用讲解
    13.VUE学习之控制行内样式
    12.2 VUE学习之-if判断,实践加减input里的值
    12.1.VUE学习之-循环li,if判断示例讲解class中应用表达式
    10.VUE学习之使用lodash库减少watch对后台请求的压力
    09.VUE学习之watch监听属性变化实现类百度搜索栏功能ajax异步请求数据,返回字符串
  • 原文地址:https://www.cnblogs.com/Comet-Fei/p/11885212.html
Copyright © 2011-2022 走看看