/*
* 5、 编写程序拷贝一个文件, 尽量使用效率高的方式.
*
* */
package com.itheima;
import java.io.*;
class Test5
{
public static void main(String [] args)
{
copyFile("被复制的测试文件.java","刚复制的文件.txt");
}
public static void copyFile(String filename,String copyfilename)
{ //finlename 代表要复制的文件名。copy filename代表复制后的文件名。
FileWriter fw=null;
FileReader fr=null;
try
{
fw=new FileWriter(copyfilename);//根据传递进来的参数创建对应的流对象。
fr=new FileReader(filename);////根据传递进来的参数创建对应的流对象。
char[] buf=new char[1024];//定义两个流的中间数据容器长度为1024
int len=0;
while((len=fr.read(buf))!=-1)//写入流每次从原文件读取1024个字节
{
fw.write(buf,0,len);//写出流每次将写入流读取到的数据写出到“刚复制的文件.txt”文件中
}
System.out.println("复制成功");
}
catch( IOException e)
{
throw new RuntimeException("数据写入失败");
}
finally
{
if(fr!=null)
try
{
fr.close();
}
catch(IOException e)
{
System.out.println("读取文件流关闭失败!"+e);
}
if(fw!=null)
try
{
fw.close();
}
catch(IOException e)
{
System.out.println("写入文件流关闭失败!"+e);
}
}
}
}
我的基础测试题也是这个,把代码贴出来 分享下!!!!!!!!!
所谓高效就是要用到缓冲 不让磁盘指针在磁盘上老是来回跑。
|