JAVA通过I/O流复制文件

本文是对字节流操作,可以多音频视频文件进行操作,亲测有效。

个人感觉这个东西就是靠记的, 没什么好解释的,,,,

 import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException; public class CopyMove { public static void main(String[] args){ //时间
long starttime = 0;
long finishtime = 0;
Calendar calendar = null; /* String oldPath = "D:/test/gktgd.mp4";
String newPath = "D:/test/new4.mp4";*/
String oldPath = "D:/test/fff.flv";
String newPath = "D:/test/ff.flv"; File oldFile = new File(oldPath);
File newFile = new File(newPath);
      
//若文件不存在则创建
     if(!newFile.exists()){
try {
newFile.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} FileInputStream fIS = null;
FileOutputStream fOS = null;      //声明用于传递字节的byte 数组大小要是2的整数倍
byte[] ttStream = new byte[4096]; int len = 0; try {
fIS = new FileInputStream(oldFile);
fOS = new FileOutputStream(newFile);         //获取开始时间 
starttime = System.currentTimeMillis(); System.out.println(starttime);
len = fIS.read(ttStream);
       //若len为-1 证明读取完,若不为-1 则为读取的字节数 
while((len)!=-1){
          //将读出的字节写入文件中
fOS.write(ttStream, 0, len);
           //再次读取 
len=fIS.read(ttStream);
}
       //获得结束时间 
finishtime = System.currentTimeMillis();
System.out.println(finishtime);
System.out.println("时间间隔为:" +(finishtime-starttime));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
         //按照先使用后关闭的原则关闭 
fOS.close();
fIS.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}

JAVA通过I/O流复制文件的更多相关文章

  1. java用字符io流复制文件

    一.小文件一次快速读写 import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExceptio ...

  2. java中使用IO流复制文件

    public class TestIO { public static void main(String[] args) { // TODO Auto-generated method stub tr ...

  3. Java IO流之【缓冲流和文件流复制文件对比】

    与文件流相比,缓冲流复制文件更快 代码: package Homework; import java.io.BufferedOutputStream; import java.io.File; imp ...

  4. Java基础小知识1——分别使用字节流和字符流复制文件

    在日常使用计算机过程中经常会涉及文件的复制,今天我们就从Java代码的角度,看看在Java程序中文件复制的过程是如何实现的. 1.使用字节流缓冲区复制文件 示例代码如下: import java.io ...

  5. Java中字节流和字符流复制文件

    字节流和字符流复制文件的过程: 1.建立两个流对象 绑定数据源和目的地 2.遍历出需复制的文件写入复制过后的新文件中(只不过是遍历的时候是区分字节和字符的) 3.访问结束后关闭资源 字节流复制文件: ...

  6. Java I/O流 复制文件速度对比

    Java I/O流 复制文件速度对比 首先来说明如何使用Java的IO流实现文件的复制: 第一步肯定是要获取文件 这里使用字节流,一会我们会对视频进行复制(视频为非文本文件,故使用之) FileInp ...

  7. java中的IO流之文件复制

    O(∩_∩)O哈哈~ 1.综述 一门成熟的语言肯定具备的几个模块:IO,通信,线程,UI...... Java作为一门成熟的程序语言,其IO流是比较复杂的.上个图大家感受下: 简单分析一下,IO分为两 ...

  8. Java分享笔记:使用缓冲流复制文件

    [1] 程序设计 /*------------------------------- 1.缓冲流是一种处理流,用来加快节点流对文件操作的速度 2.BufferedInputStream:输入缓冲流 3 ...

  9. Java基础 使用转换流进行文件的复制 / RandomAccessFile 类进行文件的复制

    笔记:  **使用转换流进行文件的复制 文本文件---字节流FileInputStream--> [InputStreamReader] -----字符流BufferedReader------ ...

随机推荐

  1. Experience of Python Learning Week 1

    1.The founder of python is Guido van Rossum ,he created it on Christmas in 1989, smriti of ABC langu ...

  2. ASPCMS改造中

    10月中旬的时候,芹芹大神给我接了个做网站的活,一番商量过后,我以低得说出来丢人TT的价格接了.主要是想借此摸清网站制作的一条龙服务. 目前根据ASPCMS开源管理系统,做了个大致的构架,下面上草图: ...

  3. Pandas: 如何将一列中的文本拆分为多行? | Python

    Pandas: 如何将一列中的文本拆分为多行? 在数据处理过程中,经常会遇到以下类型的数据: 在同一列中,本该分别填入多行中的数据,被填在一行里了,然而在分析的时候,需要拆分成为多行. 在上图中,列名 ...

  4. kickstart自动化安装--tftp+nfs+dhcp

    使用kickstart实现Centos 自动化安装 Kickstart自动化安装简介: 规模化:同时装配多台 服务器 自动化 :安装系统,配置各种服务 远程实现:不需要光盘,U盘等安装介质 优势: ( ...

  5. java大数判断相等

    java大数判断相等: 1.equals()方法2.compareTo()方法区别:2.00与2.0 equals()方法判断不等,compareTo()方法判断相等,科学的说法可以看java api ...

  6. HTML相关知识

    1 Day01HTML HTML5声明:<!doctype html> <html> 1.1 HTML基本结构: <head> <title>题目< ...

  7. pudian

    https://zh.wikipedia.org/wiki/%E7%89%B9%E5%BE%81%E7%A0%81 http://www.voidcn.com/blog/lionzl/article/ ...

  8. Linux配置全局jdk

    Linux配置全局jdk 1.确保相应文件夹下有apache-tomcat和jdk的压缩文件 注意:jdk文件必须为适应Linux版本的文件 (如果已经有了相应文件,可以跳过以下第2-3个步骤) 2. ...

  9. 【Java学习笔记之八】java二维数组及其多维数组的内存应用拓展延伸

    多维数组声明 数据类型[][] 数组名称; 数据类型[] 数组名称[]; 数据类型数组名称[][]; 以上三种语法在声明二维数组时的功能是等价的.同理,声明三维数组时需要三对中括号,中括号的位置可以在 ...

  10. Celery 使用(一)

    Celery 使用(一) 架构 Producer:任务发布者: Celery Beat:任务调度器,Beat进程会读取配置文件中的内容,周期性的将配置中到期需要执行的任务发送给任务队列: Broker ...