您的位置:首页 > 编程语言 > Java开发

5、 java 编写程序拷贝一个文件, 尽量使用效率高的方式.

2012-10-18 01:02 776 查看
一、要完成这个程序需要了解的知识点:

1、编写简单的java程序,比如hello world ---废话了。。。。哈哈

2、了解java的文件操作

3、了解java的buffer操作

4、对文件操作的一些异常处理点:1、源文件不能读取到的情况。 2、目的文件创建失败的情况 3、文件锁问题 4、字符乱码问题。。。可能不全啊

这些是需要用到的包

import java.io.BufferedInputStream;

import java.io.BufferedOutputStream;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException; IO操作时需要做异常处理

个人感觉这个效率高的方式,安装计算机来讲,效率高的操作应该是对内存的操作是比较高的了,直接对IO的操作应该是相对低的。。所以这里选的是就是读到内存在统一写IO,代码如下:

package com.itheima;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

/**
* 5、 编写程序拷贝一个文件, 尽量使用效率高的方式.
*
* @author 2811671413@qq.com
*
*         1、源文件不能读取到的情况。 2、目的文件创建失败的情况 3、文件锁问题 4、字符乱码问题
*/

public class Test5 {

public static void main(String[] args) throws IOException {
String src_file = "D:/java/java.doc";
String des_file = "D:/java/java_copy.doc";

copyFile(src_file, des_file);

System.out.println("OK!");
}

public static void copyFile(String src, String des) throws IOException {
BufferedInputStream inBuff = null;
BufferedOutputStream outBuff = null;

try {
// 新建文件输入流并对它进行缓冲
inBuff = new BufferedInputStream(new FileInputStream(src));

// 新建文件输出流并对它进行缓冲
outBuff = new BufferedOutputStream(new FileOutputStream(des));

// 缓冲数组
byte[] b = new byte[1024 * 5];
int len;
while ((len = inBuff.read(b)) != -1) {
outBuff.write(b, 0, len);
}
// 刷新此缓冲的输出流
outBuff.flush();
} finally {
// 关闭流
if (inBuff != null)
inBuff.close();
if (outBuff != null)
outBuff.close();
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐