Java初级流知识总结:System.in与System.out
需积分: 10 30 浏览量
更新于2024-10-21
1
收藏 126KB DOC 举报
"Java流与IO流基础教程"
在Java编程中,IO流(Input/Output Stream)是用来处理数据输入和输出的关键概念。Java提供了丰富的流API,使得开发者能够高效地进行文件操作、网络通信以及数据传输。本资料主要涵盖Java初级流的知识点,包括System类中的标准输入输出流以及如何读取用户输入和处理字节数组。
1. **System类中的标准输入输出流**
- `System.out`: 这是一个`PrintStream`对象,用于将输出发送到默认的显示设备,通常为显示器。在示例P1中,我们看到`System.out.println()`用于打印信息。
- `System.in`: 这是一个`InputStream`对象,用于获取标准输入,一般是从键盘。在P1中,我们通过`System.in.read()`读取用户输入的一个字符。
2. **读取用户输入**
- 示例P1演示了如何读取用户输入的单个字符。`System.in.read()`方法会返回下一个可用的字节,转换为对应的字符并赋值给变量`inchar`。
3. **处理字节数组**
- 示例P2展示了如何使用字节数组读取用户输入的数据。`System.in.read(bArray)`将用户输入读入到字节数组`bArray`中。但由于直接打印字节数组会得到内存地址而非实际内容,所以需要将其转换为字符串。在Java较旧的版本中,可以使用`new String(bArray, 0)`来实现,但在现代Java中,这个构造方法已经不再推荐。
4. **流的分类与层次结构**
- Java的流分为两种主要类型:字节流(处理单字节数据)和字符流(处理Unicode字符)。字节流由`InputStream`和`OutputStream`作为基础抽象类,字符流则由`Reader`和`Writer`为基础。
- `System.in`实际上是一个`BufferedInputStream`实例,用于缓冲输入数据;而`System.out`和`System.err`都是`PrintStream`实例,用于打印输出。
5. **流的基本方法**
- `InputStream`类中的`read()`方法用于读取一个字节数据,`skip()`用于跳过指定数量的字节,`available()`返回可以无阻塞读取的字节数,`mark()`则允许在流中设置标记,以便稍后恢复到该位置。
6. **流的组合与装饰模式**
- Java流设计遵循装饰器模式,允许通过添加新的功能(如缓冲、转换编码等)而不改变原有流的行为。例如,`BufferedReader`和`BufferedWriter`可以在原始的`InputStream`或`OutputStream`之上添加缓冲功能。
7. **流的关闭**
- 使用完流后,记得关闭以释放系统资源。通常使用`finally`块或try-with-resources语句来确保流的关闭。
Java的IO流提供了一种灵活的方式来处理数据输入和输出。了解这些基础知识对于理解和使用Java进行数据操作至关重要。无论是读写文件,还是进行网络通信,Java的流API都能提供强大支持。
2021-10-01 上传
2008-10-05 上传
2011-08-21 上传
2021-06-03 上传
2011-11-11 上传
2021-06-03 上传
2017-05-29 上传
2012-08-21 上传
2007-09-16 上传
zijie405
- 粉丝: 9
- 资源: 30
最新资源
- 简历-求职简历-word-文件-简历模版免费分享-应届生-高颜值简历模版-个人简历模版-简约大气-大学生在校生-求职-实习
- 简历-求职简历-word-文件-简历模版免费分享-应届生-高颜值简历模版-个人简历模版-简约大气-大学生在校生-求职-实习
- 4种常用进制转换器,2.8.10.16进制互转
- 16进制和字符串互转工具
- 二进制文件格式分析工具
- 简历-求职简历-word-文件-简历模版免费分享-应届生-高颜值简历模版-个人简历模版-简约大气-大学生在校生-求职-实习
- 华为简历-求职简历-word-文件-简历模版免费分享-应届生-高颜值简历模版-个人简历模版-简约大气-大学生在校生-求职-实习
- 华三无线系统AP胖转瘦fit文件包大全
- java小白到高级之java三大集合的使用
- WPF多值转换器demo
- Java集合框架的基本接口.zip
- 简易评分系统 C++代码(EasyX)
- STM32HAL库+SPI+DMA驱动SW2812
- 简历-求职简历-word-文件-简历模版免费分享-应届生-高颜值简历模版-个人简历模版-简约大气-大学生在校生-求职-实习
- python入门视频-运算符
- 简历-求职简历-word-文件-简历模版免费分享-应届生-高颜值简历模版-个人简历模版-简约大气-大学生在校生-求职-实习