IO流的应用_Copy文件

(1)

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

//public void copyFile(String src,String dest){1,2,3,4步骤}

//一般写成public void copyFile(File src,File dest){2,3,4步骤}

//调用copyFile(new File(srcPath),new File(destPath));

public class 复制文件 {

    public static void main(String[] args) throws IOException {

        //1)建立联系(源文件要存在,拷贝目的地文件可以不存在)

        File src=new File("F:/xp/test/下一层/java.txt");

        File dest=new File("F:/xp/test/java2.txt");    

        //2)选择流

        InputStream is=new FileInputStream(src);

        OutputStream os=new FileOutputStream(dest);    

        //3)文件拷贝循环+读取+写入

        byte[] flush=new byte[1024];

        int len=0;

        //读取

        while(-1!=(len=is.read(flush))){

            //写入

            os.write(flush, 0, len);

        }

        //强制刷出

        os.flush();    

        //4)关闭流(先打开后关闭)

        os.close();

        is.close();

    }

}

(2)

import java.io.*;

public class 复制加强版 {

    //根据输入的路径拷贝

    static void copy(String src,String dest) throws IOException{

        copy(new File(src),new File(dest));

    }

    //根据传入的文件对象拷贝

    static void copy(File src,File dest) throws IOException{

            if(!src.exists()||!src.isFile()){

                return;

            }

            //2)选择流

            InputStream is=new FileInputStream(src);

            OutputStream os=new FileOutputStream(dest);

            //3)文件拷贝循环+读取+写入

            byte[] flush=new byte[1024];

            int len=0;

            //读取

            while(-1!=(len=is.read(flush))){

                //写入

                os.write(flush, 0, len);

            }

            //强制刷出

            os.flush();

            //4)关闭流(先打开后关闭)

            os.close();

            is.close();

    }

    public static void main(String[] args) {

        File src=new File("F:/xp/test/下一层/java.txt");

        File dest=new File("F:/xp/test/java2.txt");

        try {

            copy(src,dest);

        } catch (IOException e) {

            e.printStackTrace();

            System.out.println("文件拷贝失败!");

        }

    }

}

IO流的应用_Copy文件的更多相关文章

  1. io流(io流的引入与文件字节流)

    io流的引入与文件字节流 io流:就是一根吸管,插入后,可以操作目标文件 io流的分类: 按方向:输入,输出 按大小:字节,字符 按处理方式: 处理流:"管套着管" --- 流结合 ...

  2. IO流——File类(文件流类)

    java语言的输入输出操作是借助于输入输出包java.io来实现的,按传输方向分为输入流与输出流,从外设传递到应用程序的流为输入流,将数据从应用程序输入到外设的流为输出流. File类的构造方法: 1 ...

  3. 07 IO流(四)——文件字节流 FileInputStream/FileOutputStream与文件的拷贝

    两个类的简述 专门用来对文件进行读写的类. 父类是InputStream.OutputStream 文件读入细节 FileOutputStream流的构造方法:new FileOutputStream ...

  4. IO流实现GBK写入文件然后转换UTF-8

    public static void main(String[] args) throws IOException { File file = new File("olol\\a.txt&q ...

  5. IO流,字节流复制文件,字符流+缓冲复制文件

    JAVAIO如果按流向分:输入流和输出流两种 输入流的基类:InputStream   Reader 输出流的基类:OutputStream   Writer 如果按数据单元划分:字节流和字符流 字节 ...

  6. 【IO流】java中文件路径(相对路径、绝对路径)相关类及方法

    原文链接:https://blog.csdn.net/Activity_Time/article/details/98034409 1. URL 菜鸟教程:Java URL处理 通常推荐对http等协 ...

  7. IO流读取和写入文件

    package com.xmlmysql.demo.config; import java.io.BufferedReader; import java.io.BufferedWriter; impo ...

  8. 使用Java中的IO流,把A文件里的内容输入到B文件中

    我们先创建两个文本文件,out.txt和in.txt,在out.txt中输入"Hello World",然后使用FileInputStream把字符串读取出来,再使用FileOut ...

  9. 08 IO流(五)——文件字符流FileWriter/FileReader

    对比文件字节流的优势 对于文本文件的数据传输,使用文件字符流,就不用考虑编码转码的问题. 对比文件字节流,在方法上的不同有哪些 文件字符流有append方法: Writer append(char c ...

随机推荐

  1. (转)python 集合,列表,元组,字符串,文件等操作总结

    原文:http://www.cnblogs.com/songqingbo/tag/python%E5%87%BD%E6%95%B0/

  2. nodejs --- crypto实现加密(转)

    crypto实现加密 本文转自:http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/0 ...

  3. Collections练习之对字符串先折半,再取最长的一个

    不多说,直接上干货! 代码需求 由 [aa, abcde, cba, cba, nbaa, zzz] 变成 max=abcde CollectionsDemo.java package zhouls. ...

  4. VM虚拟机安装centos7

    一 安装centos7 下面地址下载基础版 CentOS-7-x86_64-Minimal-1810.iso 镜像  918M http://isoredirect.centos.org/centos ...

  5. C语言实现通用链表初步(三)----单元测试

    前两节,我们已经完成了链表的一些操作,快来测试一下吧. 这里使用的单元测试工具名字叫"check". START_TEST(my_slist_1) { struct student ...

  6. pat1031. Hello World for U (20)

    1031. Hello World for U (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Giv ...

  7. C++/CLI中的const literal initonly 友元(转)

    C++/CLI中的const literal initonly 友元 C++/CLI中的const Visual C++并不允许在const对象上调用成员函数,除非该成员函数也被声明为const. C ...

  8. elasticsearch增删改查crudp-----1

    Elasticsearch一些增删改查的总结 环境Centos7+Es 5.x 简单介绍下ES的原理: 1,索引  --相当于传统关系型数据库的database或schema 2,类型  --相当于传 ...

  9. array_map()关于回调函数的总结

    array_map()函数的第一个参数可以是匿名函数,系统函数,也可以是自己自定义的函!在全局空间下,这些函数的调用都很简单 在这里就不多说了!我们主要讨论的是该函数调用类中的方法和静态方法的区别 摘 ...

  10. 错误Cannot find module 'stylus'

    vue项目中使用stylus预处理器写css语法,老是出现 Cannot find module ‘stylus’ 的错误,鼓捣了很久,包括webstorm中配置stylus的支持,安装依赖. 终于找 ...