`
qq_24665727
  • 浏览: 121285 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论
阅读更多
package 缓冲流;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

//文件的复制
public class MyCopy {
private  int size = 100;
private String src;
//构造方法重载,可以传如文件对象,也可以是路径
public MyCopy(String s){
File f=new File(s);
size=length(f);
src=s;
}
public MyCopy(File f) {
src=f.getAbsolutePath();
size=length(f);
}
public  void copy() {
try {
int index = src.lastIndexOf(".");
String dest = src.substring(0, index) + "-副本" + src.substring(index);
FileInputStream fis = new FileInputStream(src);
FileOutputStream fos = new FileOutputStream(dest);
byte[] bs = new byte[size];
while (fis.available() > 0) {
fis.read(bs);
fos.write(bs);
int len = fis.available();
if (len < bs.length) {
    bs = new byte[len];
}
}
fos.flush();
fos.close();
fis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
//计算文件大小,判断怎样大小的数组更有利于复制的速度;
public static int length(File f){
int t = 100;
long len=f.length();
//System.out.println(len);
if(len>10000000){
t=1000000;
}else if(len>1000000){
t=100000;
}else if(len>100000){
t=10000;
}else if(len>10000){
t=1000;
}
return t;

}
}
6
1
分享到:
评论
1 楼 BS_YG 2015-11-29  
好用功啊,学习的榜样!不过length方法为何要定义成static,是为了上面的构造方法的调用吗,要是优化的话,把static去掉,上面直接改成this.length(),就行。

相关推荐

    IO流三种流方式的文本文件的复制

    在Java编程语言中,IO流(Input/Output流)是用来处理数据输入与输出的重要工具。在文本文件的复制过程中,通常会用到三种主要的流类型:字节流(Byte Stream)、字符流(Character Stream)以及缓冲流(Buffered ...

    java 使用IO流实现文件的复制

    总的来说,Java通过IO流提供了多种文件复制的方法,开发者可以根据实际需求选择合适的方式。无论是基础的字节流还是高效的NIO,它们都是Java处理文件操作的重要工具。在实际开发中,理解并掌握这些技术,对于提升...

    java的IO流实现文件复制20190726.zip

    在这个案例中,我们讨论的主题是如何利用Java的IO流实现文件复制,特别是使用字节流进行操作。字节流是Java IO流的一种类型,它可以处理任何类型的原始数据,因为所有数据在计算机内部最终都会被转化为字节序列。 ...

    JAVA 的IO流的文件复制

    本篇文章将详细讲解如何使用Java的IO流进行文件复制,以及如何实现整个文件夹的复制,并检查复制是否成功。 1. 单个文件复制: 在Java中,我们可以使用`java.io`包中的`FileInputStream`和`FileOutputStream`类来...

    标准io流复制文件

    标准io流复制文件

    io流复制文本文件图解

    通过“io流复制文本文件图解”,我们不仅可以直观地理解文本文件复制的过程,还能深入掌握Java中字符流的使用方法。这对于任何从事Java开发的人来说都是一个重要的技能点。无论是日常的文件操作,还是复杂的数据处理...

    io操作复制文件

    本篇文章将详细讲解如何使用Java的IO流进行文件复制。 一、基本概念 IO流是Java中处理输入输出的基础,分为字节流和字符流两大类。字节流处理原始的8位字节数据,如 FileInputStream 和 FileOutputStream;字符流...

    Java实现文件复制,File文件读取,写入,IO流的读取写入

    在Java编程语言中,文件操作是一项基础且至关...以上就是关于"Java实现文件复制,File文件读取,写入,IO流的读取写入"的主要知识点。通过理解并熟练应用这些概念和方法,开发者可以有效地处理Java环境中的文件操作。

    高效率文件复制java版

    知识点1:Java IO流文件复制 在第一个实现方法中,我们使用了Java IO流来实现文件复制。首先,我们需要import相关的包,包括java.io.File、java.io.FileInputStream、java.io.FileOutputStream和java.io....

    Java-Io流,练习

    例如,可能涉及使用`FileInputStream`和`FileOutputStream`进行简单的文件复制,或者使用`BufferedReader`和`BufferedWriter`进行高效的文本文件读写。通过运行这些示例,你可以直观地理解IO流的工作原理,并学习...

    java 复制文件 io流操作

    在这个主题中,我们将深入探讨如何使用Java的IO流进行文件复制,重点讨论四个关键函数:`Reader`, `Writer`, `InputStream`, 和 `OutputStream`。 1. **Reader与Writer**: - **Reader** 是字符输入流的抽象类,...

    JAVA IO流文件读写大全下载

    JAVA IO流文件读写大全下载 JAVA IO流是Java语言中对输入/输出(Input/Output)操作的抽象表示。它提供了多种流机制来实现文件的读写操作。本文将对JAVA IO流文件读写的知识点进行详细的解释和分析。 1. JAVA IO流...

    io流实现复制与简单加密

    通过输入输出流FileInputStream FileoutputStream 将本地文件复制并进行^的加密。

    java的io流文件读写

    6. 文件复制:Java IO流常用于文件的复制。通过创建两个流,一个从源文件读取,另一个向目标文件写入,可以实现文件的复制。例如,使用FileInputStream读取源文件,FileOutputStream写入目标文件,中间可以添加...

    javaIO流基础.zip_IO流 上传 下载文件_io流 上传_io流下载_下载

    在这个“javaIO流基础.zip”压缩包中,我们能看到一系列与文件上传和下载相关的Java代码示例,涵盖了多种IO流类型及其用法。 首先,`TestFileOutputStream.java`和`TestFileInputStream.java`涉及到的是文件输入流...

    java 文件操作及IO流

    - 使用IO流可以实现文件复制,通过创建输入流和输出流,逐字节或逐字符读写完成复制,如`FileInputStream`和`FileOutputStream`组合使用。 9. **文件追加**: - 如果希望在文件末尾追加内容,可以在创建`...

    IO流递归复制多级目录

    在Java编程中,IO流(Input/Output Stream)是用来处理数据输入和输出的重要工具,而“IO流递归复制多级目录”是一个常见的文件系统操作,尤其在文件管理、备份或者程序部署等场景中十分常见。这个过程涉及到对文件...

    IO流操作 文件的复制,读写等

    IO流的一些基本操作,包括对文件的读写,文件的复制,序列化,BYTE数组转换

    java之io流实例

    通过熟练掌握IO流,开发者能够有效地处理数据输入输出,实现文件操作、网络通信等功能,从而提高程序的灵活性和可扩展性。在实际编程中,不仅要理解各类流的基本概念,还要学会灵活运用,才能充分发挥Java IO流的...

Global site tag (gtag.js) - Google Analytics