文件的复制方式

文件的复制方式
* 1 字节流读写单个字节
* 2 字节流读写字节数组 
* 3 字节流缓冲区 读写单个字节 
* 4 字节流缓冲区读写字节数组

package cn.Dong3;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;

import java.io.FileOutputStream;

public class Copy {

public static void main(String[] args) throws Exception {
long star=System.currentTimeMillis();
fun(new File(""),new File(""));
long end=System.currentTimeMillis();
System.out.println(end-star);
}

1 字节流读写单个字节
public static void fun(File src,File desc) throws Exception
{
FileInputStream fil=new FileInputStream("f:\\qwe.txt");
FileOutputStream fos=new FileOutputStream("e:\\qwe.txt");
int l=0;
while((l=fil.read())!=-1)
{
fos.write(l);
}
fil.close();
fos.close();
}

字节流读写字节数组 
public static void fun1(File src,File desc) throws Exception
{
FileInputStream fil=new FileInputStream("");
FileOutputStream fos=new FileOutputStream("");
byte b[]=new byte[1024];
int l=0;
while((l=fil.read(b))!=-1)
{
fos.write(b,0,l);
}
fil.close();
fos.close();
}

字节流缓冲区 读写单个字节 
public static void fun2(File src,File desc) throws Exception
{
BufferedInputStream fil=new BufferedInputStream(new FileInputStream(""));
BufferedOutputStream fos=new BufferedOutputStream(new FileOutputStream(""));
int l=0;
while((l=fil.read())!=-1)
{
fos.write(l);
}
fil.close();
fos.close();

}

4 字节流缓冲区读写字节数组
public static void fun3(File src,File desc) throws Exception
{
BufferedInputStream fil=new BufferedInputStream(new FileInputStream(""));
BufferedOutputStream fos=new BufferedOutputStream(new FileOutputStream(""));
byte b[]=new byte[1024];
int l=0;
while((l=fil.read())!=-1)
{
fos.write(b,0,l);

}
fil.close();
fos.close();
}
}

原文地址:https://www.cnblogs.com/dongzhenkun/p/10603436.html

时间: 2024-10-01 19:39:18

文件的复制方式的相关文章

OutputStream-InputStream-FileOutputStream-FileInputStream-BufferedOutputStream-BufferedInputStream-四种复制方式-单层文件夹复制

字节流两套:         java.lang.Object--java.io.OutputStream--java.io.FileOutputStream         java.lang.Object--java.io.InputStream--java.io.FileInputStream ================================================================== 一.OutputStream 抽象类(java.io) 字节输出

java多种文件复制方式以及效率比较

1.背景 java复制文件的方式其实有很多种,可以分为 传统的字节流读写复制FileInputStream,FileOutputStream,BufferedInputStream,BufferedOutputStream 传统的字符流读写复制FileReader,FileWriter,BufferWriter,BufferedWriter,BufferedReader NIO系列的FileChannel FileChannel+缓冲 java.nio.Files.copy() 第三方包中的Fi

第四次作业:文件的复制速度

本次我们学习了如何用字节流进行文件的复制,但由于字节复制速度问题,不太适合复制除了文本文档的一些大文件.所以,本次作业,我们就来改进如何去提高文件复制的效率. Java实现文件拷贝其实质上就是使用java提供的三种文件流操作,字节流,字符流,二进制流. 字节流:FileInputStream 与 FileOutputStream,也就是老师上课所讲的内容,这个复制速度比较慢,字节流读取文件的单位为字节,对于英语字母(只占一个字节)不受任何影响,而对于中文文字在unicode编码为两个字节(或者以

python中文件的复制

python中文件的复制 python的os模块有很多文件目录相关的函数,但没有提供直接复制文件的函数,当然可以通过边都边写的方式复制文件.想要直接复制文件可以通过shutil模块 shutil模块是另一个文件,目录的管理接口,提供了一些用于复制文件,目录的函数.copyfile()函数可以实现文件的拷贝,声明如下: import shutil copyfile(src, des) 文件的剪切可以使用move()函数模拟,声明如下: move(src,des) 功能:移动一个文件或者目录到指定的

JAVA之IO技术文件的复制原理。

在Swing 中显示文本或提示信息的方法是使用标签,它支持文本字符串和图标.在应用程序的用户界面中,一个简短的文本标签可以使用户知道这些控件的目的,所以标签在Swing中是比较常用的控件. 1.标签的使用 标签由JLabel类定义,父类为JComponent类. 标签可以显示一行只读文本,一个图像或带图像的文本,它并不能产生任何类型的事件,只是简单低显示文本和图片,但是可以使用标签的特性指定标签上文本的对齐方式. JLabel类提供了多种构造方法,这样可以创建多种标签,例如显示只有文本的标签.只

java 27 - 2 反射之 反射的概述以及获取Class文件对象的方式

反射: JAVA语言的反射机制: JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法: 对于任意一个对象,都能够调用它的任意一个方法和属性: 这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制. 如何解剖一个类: 要想解剖一个类,必须先要获取到该类的字节码文件对象. 而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象. 通俗的来说: 反射:就是通过class文件对象,去使用该文件中的成员变量,构造方法

第十四周阅读程序2:运用文件流进行文件的复制

问题及代码: #include <iostream> #include <fstream> using namespace std; int main() { ifstream readFile; //定义文件流类 ofstream writeFile; char ch; readFile.open("a.txt", ios::in); //以输入方式打开文件 a.txt writeFile.open("b.txt", ios::out);

SYSVOL复制方式从FRS迁移到DFsr

迁移SYSVOL文件夹的复制方式为DFSR 3.1迁移注意事项 1.域功能级别和林功能级别至少是winserver2008 2.要在PDC角色的DC上完成切换,如果转移角色了那就是在新的winserver2012上面进行操作 3.2 迁移状态 开始------------ 就绪------------------------重定向--------------------------消除 复制服务对应为  FRS----DFSR(此时还是frs为主)----- dfsr(此时DSFR为主并且与FS

mariadb10.xGTID复制方式

常用的master_log_file,master_log_pos复制方式,当主库宕机时会造成数据不一致问题: mariadb10.x默认就是支持GTID的复制方式  1.不支持的参数 gtid-mode=on enforce-gtid-consistency=true 2.修改的参数 slave-parallel-workers参数修改为slave-parallel-threads 3.连接至主服务使用的命令 增加:master_use_gtid= current_pos | slave_po