首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

资料复制工具类

2012-12-26 
文件复制工具类package ioimport java.io.BufferedInputStreamimport java.io.BufferedOutputStreamimp

文件复制工具类

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...是为了提高效率。提高效率多写几行代码还是值得的。

热点排行