IO文件拷贝

java 复制代码
package myio;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class IoDemo4 {
    public static void main(String[] args) throws IOException {
        FileInputStream fis = new FileInputStream("D:\\你的文件路径\\b.txt");
        FileOutputStream fos = new FileOutputStream("D:\\你的文件路径\\copy.txt");
        int b;
        while (( b = fis.read()) != -1){
            fos.write(b);
        }
        fis.close();
        fos.close();
    }
}

弊端和解决方法

FileInputStream一次只能读取一个字节,速度太慢

如果文件过大可以使用多个字节读取

java 复制代码
package myio;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class IoDemo4 {
    public static void main(String[] args) throws IOException {
        long sta = System.currentTimeMillis();
        FileInputStream fis = new FileInputStream("D:\\你的文件路径\\ceshi.mp3");
        FileOutputStream fos = new FileOutputStream("D:\\你的文件路径\\copy.mp3");
        int len;
        byte[] bytes = new byte[1024 * 1024 * 5];
        while ((len = fis.read(bytes)) != -1) {
            fos.write(bytes, 0, len);
        }
        fis.close();
        fos.close();
        long end = System.currentTimeMillis();
        System.out.println(end - sta);

    }
}
相关推荐
mjr5 分钟前
设计模式-Java
java·设计模式
零星_AagT9 分钟前
Apache-CC6链审计笔记
java·笔记·apache·代码审计
yuanpan16 分钟前
23种设计模式之《组合模式(Composite)》在c#中的应用及理解
开发语言·设计模式·c#·组合模式
程序员张320 分钟前
使用IDEA提交SpringBoot项目到Gitee上
java·gitee·intellij-idea
BanLul26 分钟前
进程与线程 (三)——线程间通信
c语言·开发语言·算法
十八朵郁金香31 分钟前
【JavaScript】深入理解模块化
开发语言·javascript·ecmascript
sunnyday042634 分钟前
MyBatis XML映射文件中的批量插入和更新
xml·java·mysql·mybatis
Hello.Reader40 分钟前
深入理解 Rust 的 `Rc<T>`:实现多所有权的智能指针
开发语言·后端·rust
程序员阿鹏42 分钟前
jdbc批量插入数据到MySQL
java·开发语言·数据库·mysql·intellij-idea
yoona102043 分钟前
Rust编程语言入门教程(八)所有权 Stack vs Heap
开发语言·后端·rust·区块链·学习方法