要求:
通过二进制流的操作方式把程序调整为可以实现对任何类型文件进行文件移动(而不是调用windows命令行的外部命令move)。
思路:
通过上一个博客已经知道的怎么对文件进行复制,这个对文件进行移动我们可以先对文件进行复制然后在对原文件用file.delete()进行删除,这样就实现了对文件的移动。
具体程序如下:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class class005 {
public static void main(String[]args) throws IOException{
String a="E:\\新建文件夹\\a.java";//定义要进行移动的文件路径
try{
File afile=new File(a);
File bfile=new File("E:\\yidong\\a.java");//定义移动后的文件路径
bfile.createNewFile();//新建文件
FileInputStream c=new FileInputStream(afile);
FileOutputStream d=new FileOutputStream(bfile);
byte[] date=new byte[512];//定义byte数组
int i=0;
while((i=c.read(date))>0){//判断是否读到文件末尾
d.write(date);//写数据
}
c.close();//关闭流
d.close();//关闭流
afile.delete();//删除原文件
System.out.println("文件移动成功");}
catch(IOException e){
e.printStackTrace();
}
}
}
运行结果: