手记

IO-多次复制文件为不同的名字

代码需求:复制图片名称是abc.jpg 第一次复制为abc.jpg 第二次abc-1.jpg 第三次abc-2.jpg...

package com.java;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class abcCopy {
    //目标文件的绝对路径
    String file;
    public void copy(int j) throws IOException{
        //for循环表示多次复制,j为复制的次数
        for(int i=0;i<j;i++){
            //第一次复制
            if(i==0){
                file="E:\\abc.jpg";
            }else{
                StringBuffer sb=new StringBuffer("E:\\abc.jpg");
                sb.insert(6, '-');
                sb.insert(7, i);
                file=sb.toString();
            }       
            //输入流每次都一样
            BufferedInputStream bis=new BufferedInputStream(new FileInputStream("abc.jpg"));
            //输出流里面的目标文件路径在变化
            BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(file));      
            byte bytes[]=new byte[1024];
            int d=0;
            while((d=bis.read(bytes))!=-1){
                bos.write(bytes, 0, d);
                bos.flush();
            }
            bis.close();
            bos.close();
        }
    }
    public static void main(String[] args) throws IOException {
        abcCopy test=new abcCopy();
        test.copy(5);
    }
}
0人推荐
随时随地看视频
慕课网APP