您的位置:首页 > 编程语言 > Java开发

java复制文件工具类

2012-09-17 18:11 375 查看
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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: