Java中的I/O流及利用I/O流实现文件复制功能

本文详细介绍了Java中的I/O流概念,包括字节流和字符流的分类,以及它们在文件复制场景中的应用。通过示例代码演示了如何使用字节流和字符流实现文件复制,同时指出使用字符流复制某些文件类型(如.doc、.docx)可能出现的乱码问题,可能与中文编码有关。
摘要由CSDN通过智能技术生成

Java中的I/O流及利用I/O流实现文件复制功能
一、I/O流的概念

       1、 什么是I/O?

硬件层面:I/O(input/output),即输入/输出。每个设备都会有一个专用的I/O地址,用来处理自己设备的输入输出信息。比如电脑设备输入端口为键盘和鼠标,输出端口为显示屏。

软件层面:I/O即不同存储机制上的数据的读入写出。比如内存读写硬盘中的数据或者U盘中的数据。

2、什么是I/O流?

流是指一定的介质按照一定的方向流动的行为,在软件开发中指的是存储的数据的流动过程,这个数据源可以是硬盘中的文件、内存或者是网络中的某个URL

I/O流专门用于软件开发层面的理解,把数据从一个存储介质写出(output)或者读取(input)到另外一个存储介质的过程表示为I/O流的模型




二、流的分类

        1、根据传输数据的类型分类

字节流:读取和写入数据的时候,以字节为最小单元进行读取和写入操作

字符流:读取和写入数据的时候,以字符为最小单元进行读取和写入操作,因为每个字符根据编码不同,所占用的字节个数不同,每次读取和写入字符时候,是不定长的字节个数写入读取。

拓展:字符编码即计算机通过二进制表示不同国家字符的方式
常用编码类型:UTF-8、GBK、ISO8859-1等
处理中文的编码类型utf-8占3个字节、GBK占2个字节
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值