文件的复制粘贴的过程其实就是读取和写入的过程。 以下示例是将文件数据读取到字节数组当中,然后将字节数组写入到指定的文件。每读取一次随即做写入的操作。 以下变量的解释:
变量描述int n用于存放每次读取数据的字节大小,同时将read()方法会返回的返回值(本次读取的字节大小)赋值给变量nbyte[] b =new byte[1024]每次读取读取1024个字节大小存储到字节数组b当中 package demo; import java.io.*; public class CopyFile { public static void main(String[] args) { File file = new File("picture.jpg"); File cpFile = new File("copyPicture.jpg"); try { FileInputStream fis = new FileInputStream(file); FileOutputStream fos = new FileOutputStream(cpFile); byte[] b = new byte[1024]; int n = 0; while ((n = fis.read(b))!= -1){ System.out.println(n); fos.write(b,0,n); } fis.close(); fos.close(); } catch (FileNotFoundException e) { e.printStackTrace(); }catch (IOException e){ e.printStackTrace(); } } }注意!write()的写法,fos.write(b,0,n);此写法可以保证最后一次写入的时候能够写入实际读取的字节大小,否则复制出来的文件大小和源文件大小不一致。