Java代码
/**
* // 从旧文件拷贝内容到新文件
* // 删除旧文件
* @param oldPath the path+name of old file
* @param newPath the path+name of new file
* @throws Exception
*/
private void transferFile(String oldPath String newPath) throws Exception {
int byteread =
File oldFile = new File(oldPath)
FileInputStream fin = null
FileOutputStream fout = null
try{
if(oldFile exists()){
fin = new FileInputStream(oldFile)
fout = new FileOutputStream(newPath)
byte[] buffer = new byte[ ]
while( (byteread = fin read(buffer)) != ){
logger debug( byteread== +byteread)
fout write(buffer byteread)
}
if(fin != null){
fin close()//如果流不关闭 则删除不了旧文件
this delFile(oldFile)
}
}else{
throw new Exception( 需要转移的文件不存在! )
}
}catch(Exception e){
e printStackTrace()
throw e
}finally{
if(fin != null){
fin close()
}
}
}
/**
* 删除文件 只支持删除文件 不支持删除目录
* @param file
* @throws Exception
*/
private void delFile(File file) throws Exception {
if(!file exists()) {
throw new Exception( 文件 +file getName()+ 不存在 请确认! )
}
if(file isFile()){
if(file canWrite()){
file delete()
}else{
throw new Exception( 文件 +file getName()+ 只读 无法删除 请手动删除! )
}
}else{
throw new Exception( 文件 +file getName()+ 不是一个标准的文件 有可能为目录 请确认! )
}
lishixinzhi/Article/program/Java/hx/201311/25584是的,用File类的renameTo方法即可,注意目标文件名一定要合法,否则失败!
/**
* 移动文件到指定目录
*
* @param oldPath
*String 如:c:/fqf.txt
* @param newPath
*String 如:d:/fqf.txt
*/
public static void moveFile(String oldPath, String newPath) {
copyFile(oldPath, newPath)
delFile(oldPath)
}
/**
* 移动文件到指定目录
*
* @param oldPath
*String 如:c:/fqf.txt
* @param newPath
*String 如:d:/fqf.txt
*/
public static void moveFolder(String oldPath, String newPath) {
copyFolder(oldPath, newPath)
delFolder(oldPath)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)