重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
File file = new File("D:\\temp\\A\\B\\");
成都创新互联公司服务项目包括中方网站建设、中方网站制作、中方网页制作以及中方网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,中方网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到中方省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
for(File fl: file.listFiles()){
String flName = fl.getPath().substring(3).replace("\\", "-");
System.out.println(flName);
File newFl = new File(fl.getParent() + File.separator + flName);
System.out.println(newFl.getPath());
fl.renameTo(newFl);
}
/**
* 修改文件名
* @param oldFilePath 原文件路径
* @param newFileName 新文件名称
* @param overriding 判断标志(如果存在相同名的文件是否覆盖)
* @return
*/
public static boolean renameFile(String oldFilePath,String newFileName,boolean overriding){
File oldfile = new File(oldFilePath);
if(!oldfile.exists()){
return false;
}
String newFilepath = oldfile.getParent()+File.separator+newFileName;
File newFile = new File(newFilepath);
if(!newFile.exists()){
return oldfile.renameTo(newFile);
}else{
if(overriding){
newFile.delete();
return oldfile.renameTo(newFile);
}else{
return false;
}
}
}
原文链接:网页链接
如有帮助请采纳(不懂请提问),可以看我主页,欢迎来交流学习;
package com.nokia;
import java.io.File;
/*
* This is class used for rename the whole file under file folder name*/
public class RenameFile {
public static void main(String args[]) {
/*
* you should change the path E://文件夹 to what you have on your own computer!*/
File fl = new File("E://文件夹"); //这里写上发替换的文件夹路径,注意使用双斜杠
String[] files = fl.list();
File f = null;
String filename = "";
for(String file:files){
f = new File(fl,file);//注意,这里一定要写成File(fl,file)如果写成File(file)是行不通的,一定要全路径
filename = f.getName();
// System.out.println(filename);
/*the string 要替换掉的内容 is the content in your own file string with the name 替换成的内容,
* here you should change the string into what you have.*/
f.renameTo(new File(fl.getAbsolutePath() + "//" + filename.replace("要替换掉的内容", "替换成的内容")));//这里可以反复使用replace替换,当然也可以使用正则表达式来替换了
}
}
}
不过既然是用java,java的最大优点是跨平台,为何不用平台无关的方式去处理文件复制呢(虽然输入输出流代码多了几行),还有renameTo方法用的时候小心,如果sourcePath与destPath所在分区类型不一致时可能会有问题.
我测试过了,没有问题,问题可能出在您的delAllFile方法中
package databackup;
import java.io.File;
import java.io.IOException;
public class DataBackup {
/**
* @param args
*/
public static void main(String[] args) {
String sourcePath = "D:\\Temp\\";
try {
// 源路径
String strDataBaseFilePath = sourcePath + "data\\CYSystem.mdb";
// dest路径
String strBackupDataBaseFilePath = sourcePath + "save\\";
delAllFile(strBackupDataBaseFilePath);
// 如果没有正常清空 备份文件夹的话,有可能重命名不成功.
try {
Process process= Runtime.getRuntime().exec(
"cmd.exe /c start /b copy " + strDataBaseFilePath + " "
+ strBackupDataBaseFilePath);
process.waitFor();
} catch (Exception e) {
System.out.println(e);
}
// create filename
java.util.Calendar now = java.util.Calendar.getInstance();
java.text.SimpleDateFormat yearAndMonth = new java.text.SimpleDateFormat(
"yyyy-MM-dd");
String retString = yearAndMonth.format(now.getTime());
File file = new File(strBackupDataBaseFilePath + "CYSystem.mdb");
file.renameTo(new File(strBackupDataBaseFilePath + retString
+ ".mdb"));
} catch (Exception ex) {
ex.getStackTrace();
}
System.out.println("备份成功!");
}
public static void delAllFile(String path) {
try {
Process process=Runtime.getRuntime().exec(
"cmd.exe /c start /b del " + path +" "+"/q");
process.waitFor();
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} catch (InterruptedException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}
java哪有什么指令,你指的应该是写eclipse开发时的java代码快捷键命令吧:
Ctrl+1 快速修复(最经典的快捷键,就不用多说了)
Ctrl+D: 删除当前行
Ctrl+Alt+↓ 复制当前行到下一行(复制增加)
Ctrl+Alt+↑ 复制当前行到上一行(复制增加)
Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)
Alt+↑ 当前行和上面一行交互位置(同上)
Alt+← 前一个编辑的页面
Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)
Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性
Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)
Shift+Ctrl+Enter 在当前行插入空行(原理同上条)
Ctrl+Q 定位到最后编辑的地方
Ctrl+L 定位在某行 (对于程序超过100的人就有福音了)
Ctrl+M 最大化当前的Edit或View (再按则反之)
Ctrl+/ 注释当前行,再按则取消注释
Ctrl+O 快速显示 OutLine
Ctrl+T 快速显示当前类的继承结构
Ctrl+W 关闭当前Editer
Ctrl+K 参照选中的Word快速定位到下一个
Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)
Ctrl+/(小键盘) 折叠当前类中的所有代码
Ctrl+×(小键盘) 展开当前类中的所有代码
Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用
Alt+/来代替)
Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)
Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没
有,则在stutes line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)
Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)
Ctrl+Shift+F4 关闭所有打开的Editer
Ctrl+Shift+X 把当前选中的文本全部变味小写
Ctrl+Shift+Y 把当前选中的文本全部变为小写
Ctrl+Shift+F 格式化当前代码
Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反
之)
下面的快捷键是重构里面常用的,本人就自己喜欢且常用的整理一下(注:一般重构的快捷键都是Alt+Shift
开头的了)
Alt+Shift+R 重命名 (是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力
)
Alt+Shift+M 抽取方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)
Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)
Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)
Alt+Shift+F 把Class中的local变量变为field变量 (比较实用的功能)
Alt+Shift+I 合并变量(可能这样说有点不妥Inline)
Alt+Shift+V 移动函数和变量(不怎么常用)
Alt+Shift+Z 重构的后悔药(Undo)
编辑
作用域 功能 快捷键
全局 查找并替换 Ctrl+F
文本编辑器 查找上一个 Ctrl+Shift+K
文本编辑器 查找下一个 Ctrl+K
全局 撤销 Ctrl+Z
全局 复制 Ctrl+C
全局 恢复上一个选择 Alt+Shift+↓
全局 剪切 Ctrl+X
全局 快速修正 Ctrl1+1
全局 内容辅助 Alt+/
全局 全部选中 Ctrl+A
全局 删除 Delete
全局 上下文信息 Alt+?
Alt+Shift+?
Ctrl+Shift+Space
java编辑器 显示工具提示描述 F2
java编辑器 选择封装元素 Alt+Shift+↑
java编辑器 选择上一个元素 Alt+Shift+←
java编辑器 选择下一个元素 Alt+Shift+→
文本编辑器 增量查找 Ctrl+J
文本编辑器 增量逆向查找 Ctrl+Shift+J
全局 粘贴 Ctrl+V
全局 重做 Ctrl+Y
还有好多,但用到的不多,自己百度
File file=new File("D:\\abc.java");
if(file.exists())
{
file.renameTo(new File("d:\\123.txt"));
}
希望对你能有所帮助。