上海启嘟渡科技商贸有限公司
SEARCH

与我们合作

我们专注提供互联网一站式服务,助力企业品牌宣传多平台多途径导流量。
主营业务:网站建设、移动端微信小程序开发、营销推广、基础网络、品牌形象策划等

您也可通过下列途径与我们取得联系:

微 信: wxyunyingzhe

手 机: 15624122141

邮 箱:

求写一个java小程序

更新时间:2024-12-28 17:53:24

importjava.io.File;

importjava.io.FileInputStream;

importjava.io.FileNotFoundException;

importjava.io.FileOutputStream;

importjava.io.IOException;

importjava.io.InputStream;

importjava.io.OutputStream;

importjavax.swing.JOptionPane;

/**

*复制文件或文件夹

*

*zww

*/

publicclassCopyFileUtil{

privatestaticStringMESSAGE="";

/**

*复制单个文件

*

*@paramsrcFileName

*待复制的文件名

*@paramdescFileName

*目标文件名

*@paramoverlay

*如果目标文件存在,是否覆盖

*@return如果复制成功返回true,否则返回false

*/

publicstaticbooleancopyFile(StringsrcFileName,StringdestFileName,

booleanoverlay){

FilesrcFile=newFile(srcFileName);

//判断源文件是否存在

if(!srcFile.exists()){

MESSAGE="源文件:"+srcFileName+"不存在!";

JOptionPane.showMessageDialog(null,MESSAGE);

returnfalse;

}elseif(!srcFile.isFile()){

MESSAGE="复制文件失败,源文件:"+srcFileName+"不是一个文件!";

JOptionPane.showMessageDialog(null,MESSAGE);

returnfalse;

}

//判断目标文件是否存在

FiledestFile=newFile(destFileName);

if(destFile.exists()){

//如果目标文件存在并允许覆盖

if(overlay){

//删除已经存在的目标文件,无论目标文件是目录还是单个文件

newFile(destFileName).delete();

}

}else{

//如果目标文件所在目录不存在,则创建目录

if(!destFile.getParentFile().exists()){

//目标文件所在目录不存在

if(!destFile.getParentFile().mkdirs()){

//复制文件失败:创建目标文件所在目录失败

returnfalse;

}

}

}

//复制文件

intbyteread=0;//读取的字节数

InputStreamin=null;

OutputStreamout=null;

try{

in=newFileInputStream(srcFile);

out=newFileOutputStream(destFile);

byte[]buffer=newbyte[1024];

while((byteread=in.read(buffer))!=-1){

out.write(buffer,0,byteread);

}

returntrue;

}catch(FileNotFoundExceptione){

returnfalse;

}catch(IOExceptione){

returnfalse;

}finally{

try{

if(out!=null)

out.close();

if(in!=null)

in.close();

}catch(IOExceptione){

e.printStackTrace();

}

}

}

/**

*复制整个目录的内容

*

*@paramsrcDirName

*待复制目录的目录名

*@paramdestDirName

*目标目录名

*@paramoverlay

*如果目标目录存在,是否覆盖

*@return如果复制成功返回true,否则返回false

*/

publicstaticbooleancopyDirectory(StringsrcDirName,StringdestDirName,

booleanoverlay){

//判断源目录是否存在

FilesrcDir=newFile(srcDirName);

if(!srcDir.exists()){

MESSAGE="复制目录失败:源目录"+srcDirName+"不存在!";

JOptionPane.showMessageDialog(null,MESSAGE);

returnfalse;

}elseif(!srcDir.isDirectory()){

MESSAGE="复制目录失败:"+srcDirName+"不是目录!";

JOptionPane.showMessageDialog(null,MESSAGE);

returnfalse;

}

//如果目标目录名不是以文件分隔符结尾,则加上文件分隔符

if(!destDirName.endsWith(File.separator)){

destDirName=destDirName+File.separator;

}

FiledestDir=newFile(destDirName);

//如果目标文件夹存在

if(destDir.exists()){

//如果允许覆盖则删除已存在的目标目录

if(overlay){

newFile(destDirName).delete();

}else{

MESSAGE="复制目录失败:目的目录"+destDirName+"已存在!";

JOptionPane.showMessageDialog(null,MESSAGE);

returnfalse;

}

}else{

//创建目的目录

System.out.println("目的目录不存在,准备创建。。。");

if(!destDir.mkdirs()){

System.out.println("复制目录失败:创建目的目录失败!");

returnfalse;

}

}

booleanflag=true;

File[]files=srcDir.listFiles();

for(inti=0;i<files.length;i++){

//复制文件

if(files[i].isFile()){

flag=CopyFileUtil.copyFile(files[i].getAbsolutePath(),

destDirName+files[i].getName(),overlay);

if(!flag)

break;

}elseif(files[i].isDirectory()){

flag=CopyFileUtil.copyDirectory(files[i].getAbsolutePath(),

destDirName+files[i].getName(),overlay);

if(!flag)

break;

}

}

if(!flag){

MESSAGE="复制目录"+srcDirName+"至"+destDirName+"失败!";

JOptionPane.showMessageDialog(null,MESSAGE);

returnfalse;

}else{

returntrue;

}

}

publicstaticvoidmain(String[]args){

StringsrcDirName="C:/test/test0/test1";

StringdestDirName="c:/ttt";

CopyFileUtil.copyDirectory(srcDirName,destDirName,true);

}

}

多重随机标签

猜你喜欢文章

QQ客服 电话咨询