使用Java实现图片等其他文件的本地复制
废话不多直接上一段简单的教程代码,自己下去试去,多敲多练!!
这段代码是将一张图片从“F盘”下复制到“E盘”的新路径:
1 package SchoolHome_Four;
2
3 import java.io.DataInputStream;
4 import java.io.DataOutputStream;
5 import java.io.FileInputStream;
6 import java.io.FileOutputStream;
7 import java.io.IOException;
8
9 public class Demo {
10
11 public static void main(String[] args) {
12 String oldSrc = "F:\\壁纸\\米.jpg"; //文件的原路径
13 String newSrc = "E:\\javaDoc\\米.jpg"; //文件的新路径
14 try {
15 copyPicture(oldSrc,newSrc);
16 } catch(Exception e) {
17 e.printStackTrace();
18 }
19 }
20
21 public static void copyPicture(String oldSrc,String newSrc) throws IOException {
22 //声明要使用的对象
23 FileInputStream fis = new FileInputStream(oldSrc); //字节输入流,用来读取原路径的文件
24 DataInputStream dis = new DataInputStream(fis); //字节二进制输入流,用来读取原路径的文件
25 FileOutputStream fos = new FileOutputStream(newSrc); //字节输出流,用来将文件写入新路径
26 DataOutputStream dos = new DataOutputStream(fos); //字节二进制输出流,用来将文件写入新路径
27 byte[] b = new byte[1024]; //储存读取的文件
28 int length = -1; //用来储存返回的文件长度
29 //开始读取
30 while((length = dis.read(b)) != -1) { //使用read(byte[] b)方法将文件内容储存到缓冲区再判断长度是否大于零
31 dos.write(b,0,length); //将byte数组存储的内容写入到指定文件
32 }
33 //关闭所有流
34 dis.close();
35 dos.flush();
36 fis.close();
37 fos.close();
38 System.out.println("文件复制完毕!");
39 }
40 }