Java搞基IO流的基础二三事之一

本文介绍了Java中IO流的基本概念,包括文件、路径、File类和流的体系结构。流分为字节流和字符流,字节流处理8位字节,字符流处理16位字符。节点流直接从特定IO设备读写,而处理流是对已有流的封装。根据数据类型选择使用字节流或字符流。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简要概念

  • 文件:就是以存储介质为载体的存储在计算机上的显示方式的集合统称;
  • 路径:文件系统中的对象的唯一识别,分相对路径和绝对路径;
  • File类:Java.io包中提供的一系列对文件处理的接口和类;
  • 流:为用统一的方式对数据进行处理的一种称呼,简化代码操作;
  • 输出流,输入流:根据数据的流向所划分的区别;输入流只能读取数据,输出流只能写入;
  • 字节流:所操作的基本数据单元都是8位的字节,无论是输出还是输入都是直接对字节进行处理;
  • 字符流:所操作的基本数据单元都是16位的字符,同上都是直接对字符进行处理;
  • 节点流:从一个节点(特定的io设备)读写数据的流,也被称为低级流;节点通常指文件,内存,管道;
  • 处理流;对一个已经存在的流进行连接和封装,通过封装后的流实现数据的读写。也叫高级流;

流的体系结构如下图




卧槽好麻烦!是不是!讲真
但是Java能够狠方便的 的使用它,Java将io流分成很多类,每个类又分别提供字节输入流,字节输出流,字符输入流,字符输出流;
当然你要深挖的话,你就会花现有些流没有提供字符流。不要问我为什么,厂长是我表锅~~~

愚蠢的计算机(人类)
计算机中所有的数据都是以二进制的方式存储组织的,而字节流方便处理所有二进制文件,所字节流就比字符流在处理上要牛逼很多,但是由于牛逼坏了,用字节流处理文本信息的时候,就要用合适的编码方式转换成字符,不然就是乱码,,这样的话就加大了编程复杂性。因此聪明的人类就制定了一套规矩:
  • 所有的输入输出的内容都是文本内容的话,就用字符流;
  • 如果输入输出的内容都是二进制内容的话,就用字节流;




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值