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. 什么是JavaScript Souce Map

    第一部分 我们经常可以看到后缀名为.map的文件,比如我们下载得到bootstrap的css文件,如下所示: 不难理解bootstrap.css. bootstrap.min.css.等这些常规的代码 ...

  2. NPOI 操作EXCEL 小计

    由于需要做一个生成下载Excel的功能,查了一下  常用的操作有 NPOI Spire DOCX,于是便下载了NPOI试了一下,发现确实好用,但是还是有几个比较坑的地方 1.不能直接删除列 虽然提供了 ...

  3. [转]c#匿名类

    首先让我们看一个例子, 假设我们并没有Person类, 并且我们关心的属性只有Name和Age. 下面的代码演示了我们如何在没有声明类型的情况下来构建一个对象的: 1: var tom = new { ...

  4. 一、简单gridview列表展示

    1.HomeController public ActionResult Index() { //返回绑定models的index.cshtml return View(NorthwindDataPr ...

  5. 利用自定义特性实现List的多属性排序

    知道linq有order by的功能,但是还是动手研究了一下,算是多实践实践反射.这篇算是笔记,直接上代码: using System; using System.Collections.Concur ...

  6. Spring的注解积累

    需要在applicationContext.xml中注册: 如:在base-package指明一个包 <context:component-scan base-package="cn. ...

  7. Container&injection(容器与注入思想)

    container 为了更好理解JAVA容器,查询了容器的概念以及容器的诞生原因和历史: 容器技术是怎么一个概念呢?其实,IT里的容器技术是英文单词Linux Container的直译.contain ...

  8. CSS列表(新闻列表、导航条)常见写法

    以下面这个UL做演示 <ul> <li><a href="#"><span>2014-4-1</span>教育</ ...

  9. Struts2 displaytag 导出文件为空

    以一个user的查询为例,在struts.xml配置里有这个action的配置: 然后可以在UserAction.java里找到list方法这个就是无非new 一个List<User> u ...

  10. Azure IOT 设备固件更新技巧,看这一篇就够了

    嫌长不看版 今天为大家准备的硬菜是:在 Azure IoT 中心创建 Node.js 控制台应用,进行端到端模拟固件更新,为基于 Intel Edison 的设备安装新版固件的流程.通过创建模拟设备应 ...