package com.bowen.dong; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class FileCopy { public static void main(String[] args) throws IOException{ FileInputStream fis =null; FileOutputStream fos=null; try { //创建文件输入流 fis=new FileInputStream("C:\Users\bw\Desktop\新建 DOC 文档.doc"); //创建文件输出流 fos=new FileOutputStream("C:\Users\bw\Desktop\文档1.doc"); //1T=1024G 1G=1024M 1M=1024KB 1kb=1024bytes byte[] bytes=new byte[1024]; System.out.println("真在准备复制文件..."); //声明临时变量 int temp = 0; //读写完成返回-1.没有数据了。文件到达末尾,结束循环。这是API规定的 while((temp=fis.read(bytes))!=-1) {//一边读一边写 //将byte数组中的内容直接写入对应的栏目中,就实现了文件的粘贴功能 fos.write(bytes,0,temp);//代表字节,开始数据,和临时变量 } System.out.println("恭喜你,复制成功!"); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { //刷新输出流,点不了是因为是局部变量 fos.flush();//刷新的是内存 //关闭输入输出流 fis.close(); fos.close(); }
这个程序涉及到IO流,很重要,要记下来。
1 构造FileInputStream 和FileOutputStream 对象,初始值为null
2 并且写好文件位置,注意文件位置的写法
3 创建字节素组
4 fis输入流的read(bytes) 方法,以及fos输出流的write方法
5 fos的flush()刷新的是内存,关闭输入流,关闭输出流