IO流

一.什么是IO流

流源于UNIX中管道的概念。在UNIX中,管道是一条不间断的字节流,用来实现程序或进程的通信,或读写外围设备,外部文件等。

二.IO流分为几类 

IO流分为字节流和字符流

字符流包含:Reader 和 Writer

字节流包含:InputStream 和 OutputStream

三.什么是字节流,什么是字符流

字节流如果是文件流的话就用Fileinputstream 和outputstream

字符流同上

字节流是由字节组成的,字节流是最基本的,所有的 Inputstream和Outputstream的子类都是字节流,主要用在处理二进数据,它是按字节来处理的。

字符流是由字符组成的,Java里字符由两个字节组成,所有的 Reader和 Writer的子类都是字符流,主要用在处理文本内容或特定字符。

四.字节流和字符流的区别

节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,

而字符流数据先放在缓冲区,通过缓冲区再操作文件。

读写时一个是按字节读写,一个是按字符。

需要对内容进行按行处理,一般选择字符流。

只读写文件,和文件内容无关的(下载,复制等),一般选用 字节流。

五.字符流和字节流常用类



六.实现文件复制的思路和步骤

先创建和个文本例如txt, FileInputStream和FileOutputStream一个读,一个写。

步骤见代码

public class IO2 {
	public static void main(String[] args) {
		FileInputStream f1 = null;
		FileOutputStream f2 = null;
		;
		try {
			f1 = new FileInputStream("D:\\lenove\\ss.txt");
			f2 = new FileOutputStream("D:\\ss.txt");
			int n = 0;
			do {
				try {
					n = f1.read();
					f2.write(n);
				} catch (IOException e) {

					e.printStackTrace();
				}
			} while (n != -1);
		} catch (FileNotFoundException e) {

			e.printStackTrace();
		} finally {
			try {
				f1.close();
			} catch (IOException e) {

				e.printStackTrace();
			}
			try {
				f2.close();
			} catch (IOException e) {

				e.printStackTrace();
			} finally {
				try {
					f1.close();
					f2.close();
				} catch (IOException e) {
					
					e.printStackTrace();
				}

			}

		}

	}
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值