javaIO流实现文件拷贝

复制代码
package com.java.demo;
import java.io.*;
public class CopyDemo {
    public static void main(String[] args) throws Exception {
        long start = System.currentTimeMillis(); //程序开始的时间
        if(args.length!=2){
            System.out.println("命令错误");
            System.exit(1);//程序结束执行
        }
        File inFile = new File(args[0]); //要读取的文件路径
        if(!inFile.exists()){ //需要拷贝的源文件不存在
            System.out.println("源文件不存在");
            System.exit(2);//程序结束执行
        }
        File outFile = new File(args[1]); //需要写入的文件
        if(!outFile.getParentFile().exists()){ //拷贝文件的父路径不存在
            outFile.getParentFile().mkdirs();//创建父路径
        }
        InputStream input = new FileInputStream(inFile) ;
        OutputStream output = new FileOutputStream(outFile);
        byte data[] = new byte[1024] ;
        int temp = 0 ;
        while((temp = input.read(data)) !=-1){ //读取文件内容,保存在byte数组中,如果读取到最后,则返回-1
            output.write(data,0,temp);//每次读取1024个字节,然后写入目标文件
        }
        input.close();
        output.close();
        long end = System.currentTimeMillis();//程序结束时间
        System.out.println(end-start);
    }
}
复制代码

 

posted @   小洋编程  阅读(270)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示