IO流面试题及答案(高频实战版).docxVIP

  • 1
  • 0
  • 约5.73千字
  • 约 6页
  • 2026-03-12 发布于河北
  • 举报

IO流面试题及答案(高频实战版)

一、基础高频题

1.什么是IO流?Java中IO流的核心分类有哪些?

答案:IO流就是输入输出流,本质是数据从一个地方传输到另一个地方的“管道”,比如从硬盘读文件到内存、从内存写数据到网络,都靠IO流实现。

Java中IO流核心分两类,按“数据流向”分:输入流(InputStream/Reader,数据进内存)、输出流(OutputStream/Writer,数据出内存);按“处理数据单位”分:字节流(InputStream/OutputStream,处理所有类型数据,比如图片、视频、文本)、字符流(Reader/Writer,只处理文本数据,会涉及编码解码)。

简单记:字节流通吃一切数据,字符流专门搞定文本,避免中文乱码问题。

2.字节流和字符流的核心区别是什么?实际开发中怎么选?

答案:核心区别就3点:

处理单位不同:字节流以1个字节(8位)为单位读写,字符流以1个字符为单位(根据编码不同,1个字符可能占1-4字节,比如UTF-8中中文占3字节);

底层逻辑不同:字符流本质是“字节流+编码表”,读取字节后会按指定编码转成字符,写入时会把字符转成字节;

适用场景不同:字节流用于非文本文件(图片、视频、音频、压缩包),字符流用于文本文件(.txt、.java、.xml等)。

实际开发选法:只要是文本文件,优先用字符流(避免中文乱码);非文本文

文档评论(0)

1亿VIP精品文档

相关文档