Java IO 整理
1、Java IO中的操作类之间的继承关系




2、在java中使用File类表示文件本身,可以直接使用此类完成文件的各种操作,如创建、删除
3、RandomAccessFile类可以从指定位置开始读取数据,但是要求文件中各个数据的保存长度必须一致
4、输入输出流,主要分为字节流(OutputStream、InputStream)和字符流 (Writer.Reader)两种,但是在传输中字节流较多,字符流在操作时使用到缓冲区,而字节流没有使用缓冲区
5、字节流和字符流都是以抽象类的形式定义的,根据其使用的子类不同,输入或输出的位置也不同
6、在IO包中使用OutoutStreamWriter和InputStreamReader完成字符流和字节流之间的转换
7、使用ByteArrayInputStream和ByteArrayOutputStream可以对内存进行输入/输出操作
8、在线程之间进行输入输出通信,主要使用PipedOutputStream可以对内存进行输入输出操作
9、在Io中输出时最好使用打印流(PrintStreamhePrintWriter)这样可以方便进行输入各种类型的数据
10、System类提供了3个支持IO操作的常量:out err in
(1)System.out:对应显示器的标准输出
(2)System.err:对应的错误打印,一般此信息不希望给用户看见
(3)System.in:对应的是键盘输入
11、BUfferReader可以直接从缓冲区中读取数据
12、使用Scanner类可以方便的进行输入操作
13、数据操作流提供了与平台无关的数据操作,主要使用DataOutputStream和DataInputStream类
14、使用合并流(SequenceInputStream)可以将两个文件进行合并
15、如果数据量过大 可以使用压缩流
16、使用回退流可以将不使用的数据会退回缓冲区等待使用
17、乱码产生
18、对象序列化时所在的类必须实现(Serializabvle)接口一个类的属性使用transient关键字进行声明的话,此属性将不会被序列化
19、对象的输入输出主要使用ObjecrOutputStream和ObjectInputStream两个类完成
Java IO 整理的更多相关文章
- Java IO整理
参考博客:http://www.cnblogs.com/rollenholt/archive/2011/09/11/2173787.html Java IO体系结构 1.要弄清楚其体系结构,先明白 ...
- Java IO 整理总结
read(byte b[], int off, int len) 方法的作用是从输入流中读取 len 个字节,并把数据写入到字节数组b中,并返回实际读取了多少数据.如果没有读取到任何数据,意味着文件已 ...
- Java IO流系统整理
Java IO流的分类 Java中的流,可以从不同的角度进行分类. 按流向分类: 输入流: 程序可以从中读取数据的流.输出流: 程序能向其中写入数据的流. 按数据传输单位分类: 字节流:以字节(8位二 ...
- java中的IO整理
写在前面:本文章基本覆盖了java IO的全部内容,java新IO没有涉及,因为我想和这个分开,以突出那个的重要性,新IO哪一篇文章还没有开始写,估计很快就能和大家见面.照旧,文章依旧以例子为主,因为 ...
- java IO流整理
Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...
- java之IO整理(下)
一:对象的序列化 对象序列化就是把一个对象变为二进制数据流的一种方法. 一个类要想被序列化,就行必须实现java.io.Serializable接口.虽然这个接口中没有任何方法,就如同之前的clone ...
- java之IO整理(中)
一:打印流/*System.out.println()重定向输出*/ /*public static void main(String[] args) { System.out.println(&qu ...
- java IO流 内容整理
在java中,对数据的输入和输出操作以流的方式进行.(注:对文件的操作用io.File类,但不能对文件中的内容进行操作) 一.IO流的分类: 按数据流的方向不同,可以分为输入流和输出流: 按处理数据的 ...
- 【转】 Java中的IO整理
写在前面:本文章基本覆盖了java IO的全部内容,java新IO没有涉及,因为我想和这个分开,以突出那个的重要性,新IO哪一篇文章还没有开始写,估计很快就能和大家见面.照旧,文章依旧以例子为主,因为 ...
随机推荐
- VS打开项目 提示Asp.net4.0未在web服务器上注册的解决方案
Visual Studio2013 下载的Visual Studio2013更新4 http://go.microsoft.com/fwlink/?LinkId=510314有关的Visual Stu ...
- 《JAVA并发编程实战》示例程序 第三章
3.1 可见性 程序清单3-1 在没有同步的情况下共享变量(不要这么做) /** * 主线程和读线程都将访问共享变量:ready 和 number * 结果可能 * 1. 主线程先运行完,读线程后运行 ...
- CSS3 Background-origin
Background-origin是CSS3为Background扩展的第三个属性,从Background-origin字面上不难发现是指背景图片的原点,其实background-origin主要就是 ...
- subset_lat_dir.sh
#!/bin/bash # Copyright 2018 Jarvan Wang # Copyright 2017 Vimal Manohar # Apache 2.0. cmd=ru ...
- 自编译Apache Spark2.3.3支持CDH5.16.1
1 下载源代码文件 https://archive.apache.org/dist/spark/spark-2.3.3/ 2 解压后导入编辑器,修改依赖的Hadoop版本,下面截图是修改后的,要看自己 ...
- 通用RSA加密 - PHP+Java+Javascript加密解密
php端生成 公钥私钥 1.openssl genrsa -out rsa_private_key.pem 1024 私钥 2.openssl rsa -in rsa_private_key.p ...
- 防盗链之URL参数签名
一.概述 传统的 IP 禁用.referer 防盗链.User-Agent 防盗链.地区访问控制等防盗链措施已经无法完全满足用户要求,所以开发出URL参数签名方式来防盗链 二.实现 Token防盗链是 ...
- .Net Core项目管理----Git的一些基本使用方法
使用git的基本操作 1.Git的克隆 git clone https://XXXXXXXXXXXXXXXXXXXXX 2.拉取 git pull 3.查询状态 git status 4.添加 git ...
- vue打包遇到的坑
1.-webkie-box-orient:vertical没大打包上,解决方案 /* ! autoprefixer: off */ -webkit-box-orient: vertical; /* a ...
- vue-router路由动态传参query和params的区别
1.query方式传参和接收参数 //路由 { path: '/detail', //这里不需要参入参数 name: "detail", component: detail//这个 ...