Java编程思想——标准 I / O
将Syetem.out转换成PrintWriter
标准I/O重定向: 控制台信息量大,滚动快,查看困难
setIn(InputStream) setOut(...) setErr(...)
新I/O库,提高速度; 方式:使用的结构更接近操作系统执行I/O的方式:通道和缓冲器。
通道:包含数据的矿藏;缓冲器:运送数据的车; 屏蔽底层信息,封装耗时,适用于大型文件操作。
唯一与通道交互缓冲器:ByteBuffer; FileInputStream\FileOutStream\RandomAccessFile 被改造产生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(瞬时)关键字 表示敏感信息,关闭序列化,不会被记录。
Java编程思想——标准 I / O的更多相关文章
- Java编程思想(11~17)
[注:此博客旨在从<Java编程思想>这本书的目录结构上来检验自己的Java基础知识,只为笔记之用] 第十一章 持有对象 11.1 泛型和类型安全的容器>eg: List<St ...
- Java编程思想(后)
Java编程思想(后) 持有对象 如果一个程序只包含固定数量的且其生命期都是已知的对象,那么这是一个非常简单的程序. Java中的库基本类型: List, Set, Queue和Map --- 称为集 ...
- Java编程思想(前十章)
Java编程思想 有C++编程基础的条件下, 前10章可以快速过一下,都是基本语法,不需要花太多时间. 着重中后段的一些章节,类型信息.泛型.容器.IO.并发等. 中文翻译版 阅读地址 对于一个架构师 ...
- Kotlin 或将取代 Java——《Java 编程思想》作者 Bruce Eckel [转]
Bruce Eckel 是<Java 编程思想>.<C++编程思想>的作者,同时也是 MindView 公司的总裁,该公司向客户提供软件咨询和培训.他是 C++ 标准委员会拥有 ...
- 《Java编程思想第四版》附录 B 对比 C++和 Java
<Java编程思想第四版完整中文高清版.pdf>-笔记 附录 B 对比 C++和 Java “作为一名 C++程序员,我们早已掌握了面向对象程序设计的基本概念,而且 Java 的语法无疑是 ...
- JAVA编程思想读书笔记(四)--对象的克隆
接上篇JAVA编程思想读书笔记(三)--RTTI No1: 类的克隆 public class MyObject implements Cloneable { int i; public MyObje ...
- 再读《Java编程思想 》
前段时间在豆瓣上无意间看到一个帖子"我为什么把thinking in java 读了10遍",是11年的帖子,下面评论至今,各种声音都有,不过大多数还是佩服和支持的.我个人来讲也是 ...
- 24.JAVA编程思想——违例差错控制
24.JAVA编程思想--违例差错控制 Java 的基本原理就是"形式错误的代码不会执行". 与C++类似,捕获错误最理想的是在编译期间,最好在试图执行程序曾经.然而.并不是全部错 ...
- 33.JAVA编程思想——JAVA IO File类
33.JAVA编程思想--JAVA IO File类 RandomAccessFile用于包括了已知长度记录的文件.以便我们能用 seek()从一条记录移至还有一条:然后读取或改动那些记录. 各记录的 ...
随机推荐
- mysql5.6新功能索引条件下推(转载)
原文地址:http://www.cnblogs.com/zengkefu/p/5684101.html 一什么是"索引条件下推" "索引条件下推",称为 Ind ...
- 【HDU2204】Eddy's爱好
题目大意:求从 1 到 N 中共有多少个数可以表示成 \(M^K,K \gt 1\).\(N \le 1e18\) 题解: 发现 N 很大,若直接枚举 M 的话有 1e9 级别的数据量,肯定超时,因此 ...
- buuctf@[OGeek2019]babyrop
#!/usr/bin/python #coding:utf-8 from pwn import * #context.log_level = 'debug' io = process('./pwn', ...
- 26. ClustrixDB 分布式架构/数据分片
数据分片 介绍 共享磁盘vs.无共享 分布式数据库系统可分为两大类数据存储架构:(1)共享磁盘和(2)无共享. Shared Disk Architecture Shared Nothing Arch ...
- 盒子模型的overflow属性,border属性,padding与margin属性
今天要写的是CSS布局—盒子模型 首先说一下CSS的整体布局: 它包括容器(container),页眉(header),导航条(navbar),页面主要内容(main),菜单(menu),主要内容(c ...
- 彩色图像--色彩空间 CMY(K)空间
学习DIP第63天 转载请标明本文出处:***http://blog.csdn.net/tonyshengtan ***,出于尊重文章作者的劳动,转载请标明出处!文章代码已托管,欢迎共同开发:http ...
- 「SCOI2015」小凸玩矩阵
题目链接 问题分析 题目给了充足的暗示,我们只需要二分答案然后跑匈牙利即可.要相信匈牙利的速度 参考程序 #include <bits/stdc++.h> using namespace ...
- A.Equivalent Prefixes(ST算法)
Equivalent Prefixes 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 524288K,其他语言1048576K 64bit IO Format: %lld 题目描述 ...
- 按下enter触发事件
原理:按下enter的事件属于键盘事件,我们可以先用下面函数来获取enter的键码(键盘上的按键都有各自的键码),通过这个键码可以来判断按下的是哪个键 document.addEventListene ...
- Java使用阿里云OSS对象存储上传图片
原 Java使用阿里云OSS对象存储上传图片 2017年03月27日 10:47:28 陌上桑花开花 阅读数 26804更多 分类专栏: 工作案例总结 版权声明:本文为博主原创文章,遵循CC 4.0 ...