java中文件IO之图片的拷贝解析

java中的文件io较之c中的IO更加的体现了java语言中封装的特性,学习java最基础的也是最最重要的无非就是这四点: 

《1》封装

《2》继承

《3》抽象

《4》多态

在c中的文件IO与标准IO想必大多数的人们都还记忆尤新,那么对于java语言的文件IO呢,特别是对于图片的拷贝,那么今天这篇就先舍弃其它不谈,就谈谈java语言实现图片的拷贝。

在java中,对于文件的操作分为,以字节流的形式和以字符流的形式。字符流常用作文本的操作,而子节流的方式则文本图片都可以。所以对于图片的拷贝我们毫无悬念的悬着了以字节流的方式来进行拷贝。

下面就详细的解析下代码的实现:

package com;

//当前类需要其它包中的类需要在这里 import一下(写于类外)
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class Test {

	/**
	 *  图片的拷贝
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		//创建文件夹
		File fileDir = new File("F:/yang");
		fileDir.mkdir();
		
		//创建两个对象 分别为将要复制的和被复制的
		File f = new File("F:/my_pic.png");
		File fileNew = new File("F:/yang/my_pic.png");
		
		//如果文件不存在则创建一个和将要被复制的文件名字一样的文件
		if(!fileNew.exists())
		{
			try {
				fileNew.createNewFile();
				System.out.println("创建成功");
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
		//创建字节  图片只有使用字节流的形式来进行拷贝
		byte data[] = new byte[1024];
		int n = 0; //n为读取文件的大小
		
		//读取文件到字符数组内  然后从字符数组内写到目标文件内
		FileOutputStream foutput = null; 
		FileInputStream finput = null;
		try {
			finput = new FileInputStream(f);
			foutput = new FileOutputStream(fileNew);
		//循环的一直把文件读完  直到为-1时(-1时表示读完了)  
		while((n = finput.read(data)) != -1)
			foutput.write(data,0,n);
			 
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 
		//try catch为异常情况的处理   try后放的是可能出现异常的语句
		//catch后面放的是异常情况下的提示性语句
		finally{
		 try {
			finput.close();
			 foutput.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		}
	System.out.println(" 复  制  完  毕  ");
	} 
}

好了,以上就是最简单的图片的拷贝了,希望还处于初期java的童鞋们,好好的努力啊。


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值