IO流复制文件

1. 经过测试可以复制 txt excel csv exe pdf文件其他格式的没测,估计也没问题

public class Hello {
    private static final  String LINE_SEPARATOR = System.getProperty("line.separator");//换行
    public static void main(String[] args) throws Exception {
        FileInputStream reader = new FileInputStream("d:/毕向东Java基础课堂笔记.pdf");
        FileOutputStream writer = new FileOutputStream("e:\\毕向东Java基础课堂笔记.pdf");
        int len = 0;
        byte[] buffer = new byte[1024*1024];//1MB缓存
        while((len = reader.read(buffer))!=-1){ //len = reader.read(buffer) buffer千万不要忘了,否则复制的文件超大
            writer.write(buffer ,0 , len);
            writer.flush();
        }
        System.out.println("复制成功");
        writer.close();
        reader.close();
    }
}

2.优化复制文件

    public static void main(String[] args) throws Exception {
        File src = new File("d:/Evernote_6.1.2.2292.exe");
        File des = new File("e:\\NEW_Evernote_6.1.2.2292.exe");

        copyFile(src,des);
    }

    private static void copyFile(File src, File des) throws  Exception{
        FileInputStream reader = new FileInputStream(src);
        FileOutputStream writer = new FileOutputStream(des);
        int len = 0;
        byte[] buffer = new byte[1024*1024];//1MB缓存
        while((len = reader.read(buffer))!=-1){ //len = reader.read(buffer) buffer千万不要忘了,否则复制的文件超大,陷入死循环
            writer.write(buffer ,0 , len);
            writer.flush();
        }
        System.out.println("复制成功");
        writer.close();
        reader.close();
    }
时间: 2024-11-05 19:04:38

IO流复制文件的相关文章

使用IO流复制文件夹(包括子目录)

IO流用于处理设备上的数据(包括硬盘,内存,键盘录入). IO流可根据流向不同分为输入流和输出流,根据处理数据类型不同分为字节流和字符流. 字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象.本质其实就是基于字节流读取时,去查了指定的码表. 字节流和字符流的区别: a.读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节. b.处理对象不同:字节流能处理所有类型的数据(如图片.avi等),而字符流只能处理字符类型的数据. 结论:

IO流 - 复制文件(字节缓冲流+字节流)

一.什么是缓冲流 缓冲流的内部都包含一个缓冲区,通过缓冲区读写,可以提高了IO流的读写速度. 二.缓冲流+字节流复制文件 //明确数据源 FileInputStream fis=new FileInputStream("D:\\java1018\\buffer.txt"); //明确目的地 FileOutputStream fos=new FileOutputStream("D:\\java1018\\a\\buffer2.txt"); //创建缓冲流对象 //输入

IO流 复制文件及文件夹

1 package io; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.FileOutputStream; 6 import java.io.IOException; 7 import java.io.InputStream; 8 import java.io.OutputStream; 9 import java.util.Scanner; 10 11 public class copy

java用字符io流复制文件

一.小文件一次快速读写 import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class Test11 { public static void main(String[] args) throws IOException { //关联

IO流 - 复制文件(字符流)

一.单字符复制 //明确数据源 FileReader fr=new FileReader("D:\\java1018\\buffer.txt"); //明确目的地 FileWriter fw=new FileWriter("D:\\java1018\\b\\buffer.txt"); //创建字符缓冲流对象 BufferedReader br=new BufferedReader(fr); BufferedWriter bw=new BufferedWriter(f

java-通过IO流复制文件夹到指定目录

public class copyDirectoryDemo { public static void main(String[] args) {        File srcFolder = new File("C:\\Users\\MA\\Desktop\\IOtest");        File destFolder = new File("C:\\Users\\MA\\Desktop\\IOtest\\test");        fun(srcFold

IO流的文件复制

1. IO流的分类 1.根据处理数据类型的不同分为: 字符流:1)Reader 读取字符流的抽象类 常用方法: read() 读取单个字符 read(char[] cbuf) 将字符读入数组. read(char[] cbuf, int off, int len) 将字符读入数组的某一部分. close() 关闭该流并释放与之关联的所有资源. 2)Writer 写入字符流的抽象类 常用方法:write(int c) 写入单个字符. write(String str) 写入字符串 write(St

Java:IO流与文件基础

Java:IO流与文件基础 说明: 本文所有内容包含图片均为MrSaber自己编写,转载请练习我哦. 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象称作 输入流,可以向其中写入一个字节序列的对象称作 输出流. ? 这些字节序列的来源可以是:文件.网络连接.内存块等. ? 抽象类InputStream和OutputStream是构成输入/输出(I/O)的基础. ? 因为面向字节的流

java io流 创建文件、写入数据、设置输出位置

java io流 创建文件 写入数据 改变system.out.print的输出位置 //创建文件 //写入数据 //改变system.out.print的输出位置 import java.io.*; public class Index{ public static void main(String[] args) throws Exception{ /** * 存储为二进制,给计算机看的 */ //创建文件 DataOutputStream sjl = new DataOutputStrea