java用FileInputStream和FileOutputStream實現文件複製操作

版權聲明:以下代碼均由小任一人碼成,轉載請註明出處。

源碼

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class num6 {
//file讀和寫實現複製文件
public static void main(String[] args) throws Exception {
    //創建file對象
    File f=new File("e:\\test.jpg");
    //判斷文件是否存在
    if(f.exists()){
        System.out.println("test.jpg存在,可以複製");
    }else{
            f.createNewFile();
            System.out.println("test.jpg不存在,新建成功,可以複製");
    }
    //創建FileInputStream對象
    FileInputStream inp=new FileInputStream(f);
    //創建FileOutputStream對象
    //判斷demo目錄是否存在
    File f1=new File("e:\\demo");
    if(f1.isDirectory()){
        FileOutputStream out=new FileOutputStream("e:\\demo\\"+f.getName());
        byte bytes[]=new byte[1024];
        int temp=0;  //邊讀邊寫
        while((temp=inp.read(bytes))!=-1){  //讀
            out.write(bytes,0,temp);   //寫
        }
        //結束
        inp.close();
        out.close();
        System.out.println("文件拷貝成功!");
    }else{
        //新建demo目錄
        f1.mkdir();
        System.out.println("demo目錄不存在,已經新建成功,繼續複製");
        FileOutputStream out=new FileOutputStream("e:\\demo\\"+f.getName());
        byte bytes[]=new byte[1024];
        int temp=0;  //邊讀邊寫
        while((temp=inp.read(bytes))!=-1){  //讀
            out.write(bytes,0,temp);   //寫
        }
        //結束
        inp.close();
        out.close();
        System.out.println("文件拷貝成功!");
    }
}
}

代碼運行圖

1.test.jpg和demo目錄都不存在的情況
java用FileInputStream和FileOutputStream實現文件複製操作
2.test.jpg存在而demo目錄不存在
java用FileInputStream和FileOutputStream實現文件複製操作
3.test.jpg不存在而demo目錄存在
java用FileInputStream和FileOutputStream實現文件複製操作
4.test.jpg和demo目錄都存在
java用FileInputStream和FileOutputStream實現文件複製操作

源碼解析

首先創建一個testjpg的file對象,然後用exists()判斷test.jpg是否存在,如果不存在則提示並且用createNewFile()新建,然後創建FileInputStream對象,再創建demo目錄的file對象,用isDirectory()判斷demo目錄是否存在,如果存在則創建FileOutputStream對象,邊讀邊寫實現文件的複製,若demo目錄不存在,則用mkdir()新建一個,然後再創建FileOutputStream對象,邊讀邊寫。
原文鏈接:https://www.xiaorenjc.net/Java/javafilefuzhi.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章