输入/输出(全称:Input Output)

news/2024/11/20 9:36:17/

IO(输入/输出)是比较抽象的,看不到明显的运行效果,但输入和输出是所有程序都必需的部分。 使用输入机制,允许程序读取外部数据(包括来自磁盘、光盘等存储设备的数据、来自网络的数据)、 用户输入数据;使用输出机制,允许程序记录运行状态,将程序数据输出到磁盘、光盘等存储设备中和 网络其他设备中。

Java的IO通过java.io包下的类和接口来支持,在java.io包下主要包括输入流、输出流两种IO流,每 种输入、输出流又可分为字节流和字符流两大类。其中字节流以字节为单位来处理输入、输出操作,而字符流则以字符来处理输入、输出操作。除此之外Java的IO流使用了一种装饰器设计模式,它将IO流分成底层节点流和上层处理流,其中节点流用于和底层的物理存储节点直接关联(不同的物理节点获取节点流的方式可能存在一定的差异),但程序可以把不同的物理节点流包装成统一的处理流,从而允许程序使用统一的输入、输出代码来读取不同的物理存储节点的资源。

   File类:

File类是java.io包下代表与平台无关的文件和目录的类。在程序中操作文件和目录,都可以通过File类来完成。需要注意的是,不管是文件还是目录都是使用File来操作的,File能新建、删除、重命名文件和目录,但是File不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。

   构造器:

代码展示:

   (控制台输出的)

Java的IO流是实现输入/输出的基础,它可以方便地实现数据的输入/输出操作,在Java中把不同的输入/输出源(键盘、文件、网络连接等)抽象表述为“流”(stream),通过流的方式允许Java程序使用相同 的方式来访问不同的输入输出源。 stream是从起源(source)到接收(sink)的有序数据。

Java把所有传统的流类型(类或抽象类)都放在java.io包中,用以实现输入输出功能。

流的分类:

1.输入流和输出流

按照流的流向来分,可以分为输入流和输出流。输入、输出都是从程序运行所在内存的角度来划分的:

输入流:只能从中读取数据,而不能向其写入数据。由InputStream和Reader作为基类

输出流:只能向其写入数据,而不能从中读取数据。由OutputStream和Writer作为基类

2.字节流和字符流

字节流和字符流的用法几乎完全一样,区别在于字节流和字符流所操作的数据单元不同:

字节流操作的数据单元是8位的字节,由InputStream和OutputStream作为基类。

字符流操作的数据单元是16位的字符,由 Reader和 Writer作为基类。

3.节点流和处理流按照流的角色来分,可以分为节点流和处理流:

节点流:可以从向一个特定的IO设备(如磁盘、网络)读/写数据的流。

处理流:用于对一个已存在的流进行连接或封装,通过封装后的流来实现数据读/写功能。

使用处理流的优势:

1. 对开发人员来说,使用处理流进行输入/输出操作更简单;

2. 使用处理流的执行效率更高。


http://www.ppmy.cn/news/473152.html

相关文章

音|视频输入、解码、输出的流程

音频输入、解码、输出的流程 Audio AD Receiver接收来自外部AD的串行数据,根据配置信息,把串行数据转换为并行数据,存放在我们应用创建的FIFO中(ADC FIFO) 或者把从Audio Play过来的数据存到ADC FIFO中。 数据的来源也…

基于avd7181c解决视频输入效果差的问题三---CVBS无色彩疑难调试手记

基于avd7181c解决视频输入效果差的问题<三>---CVBS无色彩疑难调试手记 笔者在前两篇文章中讲述了基于AVD7181C来解决平台视频输入效果差的问题大概解决方案以及遇到的IIC兼容性问题的解决方法&#xff0c;在本文中将继续解释笔者在调试AVD7181C CVBS输入信号的情况下遇到…

播放视频无声音,视频编码来解决

艾瑞巴蒂大家好&#xff0c;我二狗子又来啦&#xff01;这段时间关于疫情的好消息不断&#xff0c;各个地区的疫情都得到了有效的控制&#xff0c;做到了新增病例个位数增长甚至连续多天零增长&#xff01;这不&#xff0c;二狗子也终于可以出村回到大城市上班啦&#xff01;由…

基于HDMI的视频流输入输出实验

本实验基于ECE-CV K7-75T FPGA开发板实现。 软件使用Vivado 2018.1。 欢迎添加QQ:2639406604一起交流 原文链接: 基于HDMI的视频流输入输出实验 基于HDMI的视频流输入输出实验 1 HDMI概述 HDMI高清多媒体界面(英语:High Definition Multimedia Interface)是一种全数字…

MP4视频播放问题(有声音无图像)分析与解决——FFmpeg视频处理教程

项目开发中&#xff0c;测试人员反应存在部分视频无法正常播放&#xff0c;赶紧去查看什么原因&#xff1a;发现有些视频只有声音没有影像&#xff0c;但是这些视频下载到本地是可以正常播放的&#xff0c;此时脑海中就大概知道了什么问题&#xff1a;应该是视频本身编码的问题…

输入 输出(一)

目录 前言 一、输入 输出 二、依据 1.格式声明 2.基本的格式字符 3.附加的格式说明符 ①输出的附加格式说明符 ②输入的附加格式说明 三、printf输出语句 ①“格式控制”是用双引号括起来的一个字符串&#xff0c;称为格式控制字符串&#xff0c;简称格式字符串。包括…

输入输出.

什么是输入输出 计算机归根结底是为人类服务的&#xff0c;这就要求计算机必须提供某种机制使得人可以向计算机发出命令或操纵计算机。也就说计算机与人之间必须存在某种沟通的机制。 这种沟通的机制就是计算机的输入输出机制。 输入提供的是一个“人→计算机”的通道。即人或…

视频输入输出3-打开关闭视频或捕捉设备

打开视频文件或捕获设备或 IP 视频流进行视频捕获。 virtual bool cv::VideoCapture::open(const String &filename,int apiPreference = CAP_ANY) 这是一个重载的成员函数,是为了方便而提供的。 它与上述函数的不同之处仅在于它接受的参数。 参数同构造函数 VideoCapt…