返回介绍

I/O

发布于 2024-09-07 13:20:09 字数 891 浏览 0 评论 0 收藏 0

关于 I/O 的详细解读,请看下面这几篇文章,里面涉及到的知识点和面试题更全面。

  • Java IO 基础知识总结
  • Java IO 设计模式总结
  • Java IO 模型详解

Java IO 流了解吗?

IO 即 Input/Output ,输入和输出。数据输入到计算机内存的过程即输入,反之输出到外部存储(比如数据库,文件,远程主机)的过程即输出。数据传输过程类似于水流,因此称为 IO 流。IO 流在 Java 中分为输入流和输出流,而根据数据的处理方式又分为字节流和字符流。

Java IO 流的 40 多个类都是从如下 4 个抽象类基类中派生出来的。

  • InputStream / Reader : 所有的输入流的基类,前者是字节输入流,后者是字符输入流。
  • OutputStream / Writer : 所有输出流的基类,前者是字节输出流,后者是字符输出流。

I/O 流为什么要分为字节流和字符流呢?

问题本质想问: 不管是文件读写还是网络发送接收,信息的最小存储单元都是字节,那为什么 I/O 流操作要分为字节流操作和字符流操作呢?

个人认为主要有两点原因:

  • 字符流是由 Java 虚拟机将字节转换得到的,这个过程还算是比较耗时;
  • 如果我们不知道编码类型的话,使用字节流的过程中很容易出现乱码问题。

Java IO 中的设计模式有哪些?

参考答案:Java IO 设计模式总结

BIO、NIO 和 AIO 的区别?

参考答案:Java IO 模型详解

Java 是一门面向对象的编程语言,不仅吸收了 C++语言的各种优点,还摒弃了 C++里难以理解的多继承、指针等概念,因此 Java 语言具有功能强大和简单易用两个特征。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文