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. vue进阶 --- 实例演示

    这篇博客将通过一个实例来对vue构建项目的过程有一个了解. 主要用到的知识点如下所示: vue-router 2.0路由配置 router-view 和 router-link的使用 transiti ...

  2. 04-spring中的aop演示

    1 xml配置 1 导包 2 准备对象 package www.test.service; public interface UserService { public abstract void ad ...

  3. Machine learning preface

    Machine learning Preface Definition T: Task E: Experience P: Performance Sequence: T -> E -> P ...

  4. 关于hibernate save方法未能存储数据入库的处理过程

    关于hibernate save方法未能存储数据入库的处理过程2018年04月18日 10:57:49 守望dfdfdf 阅读数:230更多个人分类: 工作 问题编辑版权声明:本文为博主原创文章,转载 ...

  5. MySQL(四)

    一.使用正则表达式查询 SELECT * FROM employee WHERE name REGEXP '^ale'; SELECT * FROM employee WHERE name REGEX ...

  6. JS条件语句优化

    1.对多个条件使用Array.includes eg: function test(fruit){                                                    ...

  7. Struts2_用Action的属性接收参数

    先在 Action 中定义要接收的属性,需要编写属性的getter 和 setter 方法 struts2 会自动帮我们把 String 类型的参数转为 Action 中相对应的数据类型. priva ...

  8. ubuntu & sublime字体设置

    ubuntu # yahei http://pan.baidu.com/share/link?shareid=972621198&uk=1243888096&fid=333591974 ...

  9. [topcoder]TheGridDivTwo

    http://community.topcoder.com/stat?c=problem_statement&pm=13628&rd=16278 标程是BFS,我用DFS,都可解. 这 ...

  10. Linux vi 常用指令总结

    本文根据笔者,日常常用的linux下的vi指令,进行说明 一.基本操作 1.vi 文件名 进入vi 的“命令行模式”,此模式无法编辑,只能查看 需要按下键盘的“i”键,进入“编辑模式”,才能进行文件的 ...