package io; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; /** * 文件复制 * * @author Monday */ public class FileCopy { /** * 复制文本文件 * * @param src 源文件的目录 * @param dest 目标文件的目录 */ public static void copyText(String src, String dest) { BufferedReader bufr = null; BufferedWriter bufw = null; try { bufr = new BufferedReader(new FileReader(src)); bufw = new BufferedWriter(new FileWriter(dest)); String str = null; while ((str = bufr.readLine()) != null) { bufw.write(str); // 写入文件 bufw.newLine(); // 写入换行符 bufw.flush(); // 刷新缓冲 } } catch (IOException e) { e.printStackTrace(); } finally { if (bufw != null) { try { bufw.close(); } catch (IOException e) { e.printStackTrace(); } } if (bufr != null) { try { bufr.close(); } catch (IOException e) { e.printStackTrace(); } } } } /** * 复制二进制文件 * 例如:图片、音频、视频 * 文本也可以 * * @param src 源文件的目录 * @param dest 目标文件的目录 */ public static void copyBinary(String src, String dest) { BufferedInputStream bufi = null; BufferedOutputStream bufo = null; try { bufi = new BufferedInputStream(new FileInputStream(src)); bufo = new BufferedOutputStream(new FileOutputStream(dest)); int len = 0; byte[] b = new byte[bufi.available()]; while ((len = bufi.read(b)) != -1) { bufo.write(b, 0, len); } } catch (IOException e) { e.printStackTrace(); } finally { if (bufo != null) { try { bufo.close(); } catch (IOException e) { e.printStackTrace(); } } if (bufi != null) { try { bufi.close(); } catch (IOException e) { e.printStackTrace(); } } } } /** * 测试 */ public static void main(String[] args) { FileCopy.copyText("src/复习计划.txt", "src/复习计划_copy.txt"); System.out.println("ok"); System.out.println("============"); FileCopy.copyBinary("src/numb.mp3", "src/numb_copy.mp3"); System.out.println("ok"); } }
上面的代码用了很多Bufered...是为了提高效率。提高效率多写几行代码还是值得的。
相关推荐
文件操作工具类,包含生成保存,复制,删除,读取,获取文件名,获取文件列表等等,只有你想不到,没有你找不到的Android端工具类,复制到项目中可直接使用
下面是一个高效的大文件复制工具类的基本框架: ```java import java.io.*; public class HighSpeedFileCopyUtil { public static void copyFile(String sourcePath, String destPath) throws IOException { ...
在Java编程语言中,文件的读写操作是日常开发中不可或缺的部分。为了简化这些操作,开发者经常编写工具类,提供方便的方法来...在实际应用中,还可以根据需求扩展更多功能,比如追加写入、读写二进制文件、文件复制等。
- 文件复制、移动和删除(如 `copyFile(File source, File dest)`、`moveFile(File source, File dest)` 和 `deleteFile(String filePath)`); - 文件搜索和遍历(如 `listFilesInDir(File dir)` 和 `searchFile...
功能强大的文件拷贝工具类 复制文件 @author:heyuelin 2011-01-06 @param srcFile 源文件File @param destDir 目标目录File @param isClone true:将按照源文件目录拷贝,false:将提取出文件拷贝到...
C# 文件工具类 实际项目使用 久经考验 文件读写 复制 删除 创建文件夹 判断文件扩展名等等
除了基本的文件操作外,还有目录操作、文件复制、重命名、权限设置等。例如,使用`File`类的`mkdirs()`创建目录,`renameTo()`重命名文件,`setWritable()`, `setReadable()`, `setExecutable()`调整文件权限。 七...
批量复制文件小工具是一款实用的计算机应用程序,设计用于帮助用户高效地处理大量文件的复制任务。在日常工作中,我们可能需要将...通过理解这些关键特性和功能,用户能够更好地利用这类工具来优化他们的文件管理流程。
4. **速度控制**:为了防止因大量文件复制导致目标磁盘过载,工具通常允许用户设定复制速度。 5. **断点续传**:如果复制过程中发生中断,工具能够记录进度并在下次启动时继续复制未完成的部分。 6. **错误处理**:...
# java实现对文件的各种操作的工具类 ## 可以实现的操作有: 1. 删除单个文件 2. 删除文件夹及文件夹下的文件 3. 使用文件流对单个文件进行复制 4. 复制整个文件夹内容(包含子文件夹中的所有内容) 5. ...
FastCopy就是这样一款高效、快速的文件复制工具,被广泛应用于系统部署、数据迁移等场景。FastCopy的核心优势在于其优化的I/O处理机制,它可以并行处理多个文件,同时利用硬件缓存,减少磁盘读写的时间,从而实现比...
在这个例子中,我们展示了如何跨文件复制Sheet页,不仅复制了数据,还保留了样式和格式,这对于数据处理和报告生成等场景非常有用。在实际应用中,可能还需要根据需求进行额外的定制,例如添加错误处理、支持更多...
6. **文件工具**: 文件工具类提供了对文件系统的操作,例如创建、删除、移动、复制文件,读写文件内容,以及检查文件是否存在等。这些方法能够帮助简化文件操作,提高代码的健壮性。 7. **加密工具**: 加密工具类...
在这个"Java实现的文件读取工具类"中,我们可以预期它包含了一些核心的文件I/O功能以及日期和字符串之间的转换方法。下面我们将详细探讨这些知识点。 1. **文件读取与写入**: - `FileInputStream`:用于读取二...
Java中的`File`类是Java I/O流体系中不可或缺的一部分,它是用来操作...结合`FileUtils`这样的辅助工具类,我们可以编写出更简洁、易维护的代码。在实际开发中,还应考虑异常处理和错误恢复策略,以确保程序的健壮性。
标题中的“海量大量文件复制工具”指的是专门设计用于高效处理大量小文件复制的软件。在IT行业中,当面临成千上万个小型文件的复制任务时,传统的文件管理系统(如Windows自带的复制粘贴功能)可能会表现出低效和...
然而,有时开发者或技术爱好者可能想要创建自己的定制化解决方案,这就催生了“MAC端文件复制工具”的诞生。 这个项目是一个简单的MAC OSX平台上的文件复制应用程序,由个人开发者编写。它体现了MAC OS X系统编程的...
这些工具类涵盖了从文件操作到网络通信的多个领域。 首先,FTP操作类是用于与FTP服务器进行交互的组件。它可能包含连接、上传、下载文件以及目录管理等方法。例如,`FtpClient`类可以用来建立FTP连接,`UploadFile`...