IO面试资料
- java中有几种类型的流?
从编码方式上看,分为字符流和字节流。
字节流继承InputStream和OutputStream
字符流继承自Reader和Writer - 字符流和字节流有什么区别?
底层设备永远只接受字节数据,有时候要写字符串到底层设备,需要将字符串转成字节再进行写入。
字符流是字节流的包装,字符流则是直接接收字符串,它内部将串转成字节,再写入底层设备,
这位我们向IO设备写入或读取字符串提供了一点点方便。 - 明确源和目的。
数据source:就是需要读取,可以使用两个体系:InputStream,Reader
数据destination:就是需要写入,可以使用两个体系:OutputStream,Writer - 操作的数据是否是纯文本数据?
如果是:
数据source:Reader
数据destination:Writer
如果不是:
数据source:InputStream
数据destination:OutputStream - JavaIO体系中有太多的对象,到底用哪个呢?
明确操作的数据设备:
数据source对应得设备:硬盘(File),内存(数组),键盘(System.in)
数据destination对应得设备:硬盘(File),内存(数组),键盘(System.out)
只要一读取键盘录入,就用下面得:
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));
本文来自博客园,作者:jsqup,转载请注明原文链接:https://www.cnblogs.com/jsqup/p/15941934.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?