如何利用大数据和人工智能对其进行 “捕捉”
看到这么多的类是不是又开始觉得混乱了,不要慌,字节流和字符流下的输入流和输出流大部分都是一一对应的,有了上面的表格支撑,我们不需要再担心看见某个类会懵逼的情况了。 看到 Stream 就知道是字节流,看到 Reader / Writer 就知道是字符流。 这里还要额外补充一点:Java IO 提供了字节流转换为字符流的转换类,称为转换流。 转换流 / 数据类型字节流与字符流之间的转换(输入)字节流 => 字符流InputStreamReader(输出)字符流 => 字节流OutputStreamWriter 注意字节流与字符流之间的转换是有严格定义的:
为什么在输入流不能字符流 => 字节流,输出流不能字节流 => 字符流? 在存储设备上,所有数据都是以字节为单位存储的,所以输入到内存时必定是以字节为单位输入,输出到存储设备时必须是以字节为单位输出,字节流才是计算机最根本的存储方式,而字符流是在字节流的基础上对数据进行转换,输出字符,但每个字符依旧是以字节为单位存储的。 节点流和处理流在这里需要额外插入一个小节讲解节点流和处理流。
图示中的硬盘只是其中一种设备,还有非常多的设备都可以应用在IO流中,例如:打印机、硬盘、显示器、手机······
字符流的本质也是通过字节流读取,Java 中的字符采用 Unicode 标准,在读取和输出的过程中,通过以字符为单位,查找对应的码表将字节转换为对应的字符。 面对字节流和字符流,很多读者都有疑惑:什么时候需要用字节流,什么时候又要用字符流? 我这里做一个简单的概括,你可以按照这个标准去使用:
现在看 IO 是不是有一些思路了,不会觉得很混乱了,我们来看这四个类下的所有成员。 (编辑:衡水站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |