版权声明:以下代码均由小任一人码成,转载请注明出处。
源码
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class num6 {
//file读和写实现复制文件
public static void main(String[] args) throws Exception {
//创建file对象
File f=new File("e:\\test.jpg");
//判断文件是否存在
if(f.exists()){
System.out.println("test.jpg存在,可以复制");
}else{
f.createNewFile();
System.out.println("test.jpg不存在,新建成功,可以复制");
}
//创建FileInputStream对象
FileInputStream inp=new FileInputStream(f);
//创建FileOutputStream对象
//判断demo目录是否存在
File f1=new File("e:\\demo");
if(f1.isDirectory()){
FileOutputStream out=new FileOutputStream("e:\\demo\\"+f.getName());
byte bytes[]=new byte[1024];
int temp=0; //边读边写
while((temp=inp.read(bytes))!=-1){ //读
out.write(bytes,0,temp); //写
}
//结束
inp.close();
out.close();
System.out.println("文件拷贝成功!");
}else{
//新建demo目录
f1.mkdir();
System.out.println("demo目录不存在,已经新建成功,继续复制");
FileOutputStream out=new FileOutputStream("e:\\demo\\"+f.getName());
byte bytes[]=new byte[1024];
int temp=0; //边读边写
while((temp=inp.read(bytes))!=-1){ //读
out.write(bytes,0,temp); //写
}
//结束
inp.close();
out.close();
System.out.println("文件拷贝成功!");
}
}
}
代码运行图
1.test.jpg和demo目录都不存在的情况
2.test.jpg存在而demo目录不存在
3.test.jpg不存在而demo目录存在
4.test.jpg和demo目录都存在
源码解析
首先创建一个testjpg的file对象,然后用exists()判断test.jpg是否存在,如果不存在则提示并且用createNewFile()新建,然后创建FileInputStream对象,再创建demo目录的file对象,用isDirectory()判断demo目录是否存在,如果存在则创建FileOutputStream对象,边读边写实现文件的复制,若demo目录不存在,则用mkdir()新建一个,然后再创建FileOutputStream对象,边读边写。
原文链接:https://www.xiaorenjc.net/Java/javafilefuzhi.html