/**
* 重命名文件
* @param filePath 重命名后文件的目标目录
* @param fileName 重命名前的完整文件路径
* @return
*/
public static boolean renameFile(String filePath, String fileName) {
boolean flag = false;
String oldFileName = fileName;
File oldFile = new File(oldFileName);
File newFile = new File(filePath);
if (oldFile.exists() && oldFile.isFile()) {
//flag = oldFile.renameTo(newFile);
try {
FileUtils.moveFile(oldFile,newFile);
flag = true;
} catch (IOException e) {
StaticLog.info("移动文件失败");
e.printStackTrace();
}
}
return flag;
}
第一种:
oldFile.renameTo(newFile);
返回值为布尔类型,可以用boolean check = files[i].renameTo(checkfile);来判断是否移动成功。
第二种:
FileUtils.moveFile(oldFile,newFile);
建议用第二种,第一种不会返回相应的错误信息。
/**
* 重命名文件
* @param filePath 重命名后文件的目标目录
* @param fileName 重命名前的完整文件路径
* @return
*/
public static boolean renameFile(String filePath, String fileName) {
try{
FileInputStream fis = new FileInputStream(fileName);
FileOutputStream fos = new FileOutputStream(filePath);
if (fileName.exists()) {
int b = 0;
// 判断是否到文件结尾
while ((b = fis.read()) != -1) {
fos.write(b); // 复制旧文件的内容到新文件
fos.flush();
}
} // 关闭源, 先开的后关,后开的先关
fos.close();
fis.close();
}catch (Exception e){
e.printStackTrace();
}
}