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. Castle.DynamicProxy的使用

    .Net平台AOP技术研究 简单实现 通过继承实现 public interface ICoding { void DoSth(); } public class Coding : ICoding { ...

  2. linux_api之进程控制

    本篇索引: 1.引言 2.进程标识 3.多进程 4.fork函数 5.vfork函数 6.exit函数 7.wait和waitpid函数 8.竞态 9.exec函数族 10.进程状态 11.syste ...

  3. pat1093. Count PAT's (25)

    1093. Count PAT's (25) 时间限制 120 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CAO, Peng The strin ...

  4. c++隐式类型转换和explicit

    什么是隐式转换? 众所周知,C++的基本类型中并非完全的对立,部分数据类型之间是可以进行隐式转换的. 所谓隐式转换,是指不需要用户干预,编译器私下进行的类型转换行为.很多时候用户可能都不知道进行了哪些 ...

  5. hibernate课程 初探一对多映射2-5 创建持久化类并配置映射文件

    学习点: 1 一对多映射,一方 Grade.hbm.xml的写法: <hibernate-mapping> <class name="com.ddwei.entity.Gr ...

  6. R.java文件无法自动生成的问题

    如果出现R.java文件无法自动生成的问题,同时Console窗口提示下列信息: Android requires compiler compliance level 5.0 or 6.0. Foun ...

  7. AIR Native Extension for iOS 接入第三方sdk 如何实现 AppDelegate 生命周期

    作者:Panda Fang 出处:http://www.cnblogs.com/lonkiss/p/6492385.html 原创文章,转载请注明作者和出处,未经允许不可用于商业营利活动 去年到今年做 ...

  8. 关于Linux主流框架运维工作剖析

    LINUX是开源的,这也是最主要的原因,想学Windows,Unix对不起,没有源代码.也正是因为这样,LINUX才能够像雪球一样越滚越大,发展到现在这种规模.今天将为大家带来关于Linux主流框架运 ...

  9. CODESOFT条码设计软件如何隐藏数据源方法

    作为强大的条码标签设计软件,用户在用CODESOFT设计条码标签时,有时需要根据实际情况,将条码数据源隐藏,也就是使设计与打印出来的条形码下不带有数据.那么这要怎么在CODESOFT中实现呢?下面,小 ...

  10. MAC读取希捷移动硬盘ntfs

    希捷提供了mac读取ntfs磁盘的软件,Paragon. 搜索关键词 "希捷" "mac" 或者通过以下链接进入 https://www.seagate.com ...