代码如下
package com.file.out;
import com.file.Filedemo;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
public class FileCopy {
public static void main(String[] args) throws Exception {
String localpath = "f:\\1.png";
String deskpath = "g:\\1.png";
FileInputStream fileInputStream=null;
FileOutputStream fileOutputStream=null;
try {
fileInputStream = new FileInputStream(localpath);
fileOutputStream = new FileOutputStream(deskpath);
//定义一个字节数组,提高读取效果
byte[] buf = new byte[1024];
int readlen=0;
while ((readlen = fileInputStream.read(buf)) != -1) {
//读取到后,就写入文件,通过fileOutputStream
fileOutputStream.write(buf,0,readlen);
}
System.out.println("复制成功");
} catch (FileNotFoundException e) {
e.printStackTrace();
}finally {
if (fileInputStream!=null){
fileInputStream.close();
}
if (fileOutputStream != null) {
fileOutputStream.close();
}
}
}
}
先创建一个类
我准备把f盘的1.png图片复制到g盘中,给FileInputStream,FileOutputStream两个流创建对象,然后设置为null。
String localpath = "f:\\1.png";
String deskpath = "g:\\1.png";
FileInputStream fileInputStream=null;
FileOutputStream fileOutputStream=null;
给输入流创建对象为指定f中图片的路径,给输出流指定g盘中的路径,定义一个数组,方便后续的读取,读取的过程中如果fileInputStream.read()方法为-1时候说明里面的数据全部读取完成了。循环成功之后打印一句复制成功
try {
fileInputStream = new FileInputStream(localpath);
fileOutputStream = new FileOutputStream(deskpath);
//定义一个字节数组,提高读取效果
byte[] buf = new byte[1024];
//int一个值方便比较
int readlen=0;
while ((readlen = fileInputStream.read(buf)) != -1) {
//读取到后,就写入文件,通过fileOutputStream
fileOutputStream.write(buf,0,readlen);
}
System.out.println("复制成功");
4.最后在finally中把输入输出流关闭
if (fileInputStream!=null){
fileInputStream.close();
}
if (fileOutputStream != null) {
fileOutputStream.close();
}