java复制文件工具类

来源:互联网 发布:大数据课程学生服务站 编辑:程序博客网 时间:2024/05/22 06:36
public int Copy(String source_name,String dest_name,int type) throws IOException {File source_fileFile=new File(source_name);File dest_fileFile=new File(dest_name);FileInputStream sourceFileInputStream=null;FileOutputStream destination=null;byte[] buffer;int bytes_read;int result=0;try{if (!source_fileFile.exists()||!source_fileFile.isFile()) {throw new RuntimeException("源文件不存在!");}if (!source_fileFile.canRead()) {throw new RuntimeException("源文件不能读!");}if (dest_fileFile.exists()) {if (dest_fileFile.isFile()) {if (type==1) {//覆盖目标文件dest_fileFile.delete();result=1;}else {//不覆盖目标文件!result=2;return result;}}else {throw new RuntimeException("目标是目录不是文件!");}}else {File parentdir=new File(dest_fileFile.getParent());if (!parentdir.exists()) {throw new RuntimeException("目标路径不存在!");}if (!parentdir.canWrite()) {throw new RuntimeException("目标路径不可写!");}//复制文件sourceFileInputStream=new FileInputStream(source_fileFile);destination=new FileOutputStream(dest_fileFile);buffer=new byte[1024];while(true){bytes_read=sourceFileInputStream.read(buffer);if (bytes_read==-1) {break;}destination.write(buffer, 0, bytes_read);}}}finally{if (sourceFileInputStream!=null) {try {sourceFileInputStream.close();} catch (IOException e) {}}if (destination!=null) {try {destination.close();} catch (IOException e) {// TODO: handle exception}}return result;}}

原创粉丝点击