Java----io 流


   流


流的概括:
流是具有方向、具有流质(里面内容) ,其作用就是用于程序与外部数据相互交互.


流的分类:

1)按照方向分:
输入流(继承自抽象类InputStream或Reader); 


输出流(继承自抽象类OutputStream或Writer);

2)按照字节流和字符流分:
字节流是以byte为最小单位进行数据传送(继承自抽象类InputStream或OutputStream);
字符流是以char为最小单位进行数据传送(继承自抽象类Reader或者Writer);

3)按照功能来分:
节点流--低级流是可以直接从/向一个特定的数据源(例如磁盘文件、内存、网络)读/写数据的流;
处理流--高级流不直接连接到设备,而是连接在已存在的流(节点流或处理流)之上,通过对数据的处理为程序提供更强大的读写功能;


文件类

File类提供了管理磁盘文件和目录的基本功能.即代表文件也代表文件夹.

 

代码练习:

public static void main(String[] args) {
		// TODO Auto-generated method stub
		String fromPath = "C:" + File.separatorChar +"1" + File.separatorChar + "MainEnter.java";
		File file = new File(fromPath);
		
		String toPath = "C:" + File.separatorChar +"2" + File.separatorChar + "MainEnter.java";
		File file02 = new File(toPath);
		
		//判断文件是否存在
		if(file.exists()) {
			//无论文件是什么类型的文件,都可以采用字节流
			//推荐:对于字节码文件,或者图片,或音频,视频等等文件,我们读取时,一般采用字节流
			//而文本文件,采用字符流
			FileInputStream in = null;
			FileOutputStream out = null;
			
			byte[] data = new byte[1024];//定义一个数据缓冲区
			try {
				in = new FileInputStream(file);//针对该文件,创建一个对应字节输入流
				//false代表文件采用覆盖的方式,来写入内容,true代表文件采用尾部追加的方式,来写入内容
				out = new FileOutputStream(file02,false);//针对该文件,创建一个对应的字节输出流
//				int c = 0;
//				while((c = in.read()) != -1) {
//					out.write(c);
//				}
				
				int lenth = 0;//代表单次读取内容的长度
				while((lenth = in.read(data)) != -1) {
					out.write(data,0,lenth);
				}
				
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}finally {//关流
				try {
					in.close();
					out.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值