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;
}
}
java复制文件工具类
最新推荐文章于 2024-07-27 14:44:45 发布