IO之流的分类

IO分类:

               按流向分:以应用为参照物看文件的流向。输入流,输出流。

              按处理数据的单位分:字节流,字符流。抽象基类:InputStream,OutputStream;Read,Writer

              按作用的角色分:节点流,处理流。

	@Test
	/**
	 *  复制操作
	 */
	public void inputStreamtest(){
		//被复制的路径文件
		File file =new File("csq.properties");
		//目的路径文件
		File file1 =new File("csq1.properties");
		if(file.exists()){
			FileInputStream fis = null;
			FileOutputStream fis1 = null;
			try {
				//包裹原文件的处理流
				 fis=new FileInputStream(file);
				//包裹目标文件的处理流
				 fis1=new FileOutputStream(file1);
				//一个一个的写很耗时,写个数组做缓存,减少时间。将源文件的内容写入一个字节数组中。
				byte[] s=new byte[8];
				int leg;//每次读的长度。
				if((leg=fis.read(s)) !=-1){//每次从数组中读的长度,特别是最后一次,如果最后一次只有5个字节,哪就长度不是8了。
					fis1.write(s, 0, leg);//注意是从数组中读的长度。不是数组长度。特别是最后一次.
					fis1.flush();//将最后一次强力推进去写入。
				}
			} catch (Exception e) {
				
				e.printStackTrace();
			} finally{//先关输入流,再关输出流
				if(null !=fis){
					try {
						fis.close();
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
				if(null !=fis1){
					try {
						fis1.close();
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
				
			}
			
		}else{
			System.out.println("该文件不存在,请查找"); 
		}
		
	}

猜你喜欢

转载自blog.csdn.net/shuimofengyang/article/details/78421575