《黑马程序员》 IO之文件拷贝

来源:互联网 发布:caffe rfcn 编辑:程序博客网 时间:2024/05/22 17:14
import java.io.*;class Demo8 {/*  文件拷贝复习         复制d:\temp.txt中的内容到e\目录中   如何获取当前的文件的名称了  */public static void main(String[] args) {File src;File destFile;try{ src=new File("d:\\temp.txt");//获取绝对路径String destPath=src.getAbsolutePath();//从路径中截取文件名,然后组拼成路径String destName="e:\\"+destPath.substring(destPath.lastIndexOf("\\")+1);//生成目标对象destFile=new File(destName);if(destFile.exists())  destFile.delete();copyFile(src,destFile);System.out.println("复制完成");}catch(Exception e){e.printStackTrace();}}public static void copyFile(File srcf,File destf) throws Exception{//生成读取流//使用字节来进行操作:使用输入流和对象相关联//编程的时候尽量父类或接口便于程序的扩展InputStream is=new FileInputStream(srcf);//生成输出流OutputStream os=new FileOutputStream(destf);//创建缓冲区。提高读取效率.因为read方法可以读取一个字节也可以读取字节数组//使用字符流read方法可以支持读取单个字符,也可以支持读取一个数组//当使用数组时,都是把数据给读取到数组中,然后写入的时候都是从数组中写的。//这个数组就是相当于一个缓冲区。byte[] buffer=new byte[1024]; //1mb就够用了int len=0;  //记录住读取到字节的个数while((len=is.read(buffer))!=-1){//如果没有读取到文件的末尾就一直读取//把读取到的数据写入到目标文件中os.write(buffer,0,len);  }os.close();  //记得关闭流is.close();  //关闭流}}

0 0
原创粉丝点击