Java补补补

我有罪我忏悔

一年又一年,缝缝补补又三年

从后往前

 

I/O输入输出

输入输出都是从内存的角度来划分

数据从外部(包括磁盘文件、键盘、套接字)读入到内存中的流称为输入流,将从内存写入到外部设备(控制台、磁盘文件或者网络)的称为输出流。

流序列中的数据既可以是未经加工的原始二进制数据,也可以是经一定编码处理后符合某种格式规定的特定数据。因此Java中的流分为两种:

  • 字节流:数据流中最小的数据单元是字节 多用于读取或书写二进制数据

  • 字符流:数据流中最小的数据单元是字符, Java中的字符是Unicode编码,一个字符占用两个字节。

在最底层,所有的输入/输出都是字节形式的。基于字符的流只为处理字符提供方便有效的方法。

字节流/字符流  输入流/输出流

 

字节流

字节流的最顶层是两个抽象类:InputStream和OutputStream,其他关于处理字节的类都是它们的子类,这些子类对不同的外设进行处理,例如磁盘文件,网络连接,甚至是内存缓冲区。

关键方法read()和write(),它们分别对数据的字节进行读写。两种方法都是抽象方法,子类必须重载

 

字符流

java是使用16-bits来存储字符数据的,涉及到的大多是字符操作,在程序中使用字符流会比字节流更加合适。类似于字节流,字符流的两个顶层抽象类是Reader和Writer.

 

 

java.lang.Integer.toHexString()方法

int i = 170;
System.out.println("Number = " + i);//170
System.out.println("Hex = " + Integer.toHexString(i));//aa
posted @ 2019-11-19 20:23  像走了一光年  阅读(108)  评论(0编辑  收藏  举报