| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> Java知识库 -> 带你深入理解Java的IO到底是个啥 -> 正文阅读 |
|
|
[Java知识库]带你深入理解Java的IO到底是个啥 |
摘要:操作系统就是管家,电脑的设备就是资源,如果进程先要操作资源,必须要进行系统调用,有操作系统去处理,然后再返回给进程,这样的代理模式是不是很常见?因此app 就是你写的程序,资源就是硬盘或者其他的设备,io就是进行的系统调用。 本文分享自华为云社区《惊呆了,原来JavaIO如此简单》,原文作者:香菜聊游戏。 操作系统就是管家,电脑的设备就是资源,如果进程先要操作资源,必须要进行系统调用,有操作系统去处理,然后再返回给进程,这样的代理模式是不是很常见?因此app 就是你写的程序,资源就是硬盘或者其他的设备,io就是进行的系统调用。
为了保证操作系统的稳定性和安全性,一个进程的地址空间划分为?用户空间(User space)?和?内核空间(Kernel space )?。像我们平常运行的应用程序都是运行在用户空间,只有内核空间才能进行系统态级别的资源有关的操作,比如如文件管理、进程通信、内存管理等等。也就是说,我们想要进行 IO 操作,一定是要依赖内核空间的能力。并且,用户空间的程序不能直接访问内核空间。当想要执行 IO 操作时,由于没有执行这些操作的权限,只能发起系统调用请求操作系统帮忙完成。因此,用户进程想要执行 IO 操作的话,必须通过?系统调用?来间接访问内核空间 java的io 实在太复杂了,往往新手很难掌握,因为只缘身在此山中,新手往往很难从全体去看到问题的本质,我和打铁的朋友的聊天截图能帮你解答一些。
类结构如下
在平常的读写文件的时候可以先用基本流,然后看是否需要字符流,最后在用上带buffer 的流。IO流的设计思想就是装饰器模式,一层一层的进行升级功能。 IO类大点兵
来波实例展示1、访问操作文件(FileInputStream/FileReader ,FileOutputStream/FileWriter)
2、缓存流的使用(BufferedInputStream/BufferedOutputStream,BufferedReader/BufferedWriter)
3、获取键盘输入
让我们看下源码是啥情况:
总结:
|
|
|
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/27 12:57:11- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |