File file = new File("D:\\temp\\A\\B\\");
成都創(chuàng)新互聯(lián)公司服務項目包括中方網(wǎng)站建設、中方網(wǎng)站制作、中方網(wǎng)頁制作以及中方網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,中方網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到中方省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
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;
}
}
}
原文鏈接:網(wǎng)頁鏈接
如有幫助請采納(不懂請?zhí)釂?,可以看我主頁,歡迎來交流學習;
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://文件夾");??//這里寫上發(fā)替換的文件夾路徑,注意使用雙斜杠
??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?要替換掉的內(nèi)容?is?the?content?in?your?own?file?string?with?the?name?替換成的內(nèi)容,?
*?here?you?should?change?the?string?into?what?you?have.*/
???f.renameTo(new?File(fl.getAbsolutePath()?+?"http://"?+?filename.replace("要替換掉的內(nèi)容",?"替換成的內(nèi)容")));//這里可以反復使用replace替換,當然也可以使用正則表達式來替換了
???
??}
?}
}
不過既然是用java,java的最大優(yōu)點是跨平臺,為何不用平臺無關(guān)的方式去處理文件復制呢(雖然輸入輸出流代碼多了幾行),還有renameTo方法用的時候小心,如果sourcePath與destPath所在分區(qū)類型不一致時可能會有問題.
我測試過了,沒有問題,問題可能出在您的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開發(fā)時的java代碼快捷鍵命令吧:
Ctrl+1 快速修復(最經(jīng)典的快捷鍵,就不用多說了)
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 快速顯示當前類的繼承結(jié)構(gòu)
Ctrl+W 關(guān)閉當前Editer
Ctrl+K 參照選中的Word快速定位到下一個
Ctrl+E 快速顯示當前Editer的下拉列表(如果當前頁面沒有顯示的用黑體表示)
Ctrl+/(小鍵盤) 折疊當前類中的所有代碼
Ctrl+×(小鍵盤) 展開當前類中的所有代碼
Ctrl+Space 代碼助手完成一些代碼的插入(但一般和輸入法有沖突,可以修改輸入法的熱鍵,也可以暫用
Alt+/來代替)
Ctrl+Shift+E 顯示管理當前打開的所有的View的管理器(可以選擇關(guān)閉,激活等操作)
Ctrl+J 正向增量查找(按下Ctrl+J后,你所輸入的每個字母編輯器都提供快速匹配定位到某個單詞,如果沒
有,則在stutes line中顯示沒有找到了,查一個單詞時,特別實用,這個功能Idea兩年前就有了)
Ctrl+Shift+J 反向增量查找(和上條相同,只不過是從后往前查)
Ctrl+Shift+F4 關(guān)閉所有打開的Editer
Ctrl+Shift+X 把當前選中的文本全部變味小寫
Ctrl+Shift+Y 把當前選中的文本全部變?yōu)樾?/p>
Ctrl+Shift+F 格式化當前代碼
Ctrl+Shift+P 定位到對于的匹配符(譬如{}) (從前面定位后面時,光標要在匹配符里面,后面到前面,則反
之)
下面的快捷鍵是重構(gòu)里面常用的,本人就自己喜歡且常用的整理一下(注:一般重構(gòu)的快捷鍵都是Alt+Shift
開頭的了)
Alt+Shift+R 重命名 (是我自己最愛用的一個了,尤其是變量和類的Rename,比手工方法能節(jié)省很多勞動力
)
Alt+Shift+M 抽取方法 (這是重構(gòu)里面最常用的方法之一了,尤其是對一大堆泥團代碼有用)
Alt+Shift+C 修改函數(shù)結(jié)構(gòu)(比較實用,有N個函數(shù)調(diào)用了這個方法,修改一次搞定)
Alt+Shift+L 抽取本地變量( 可以直接把一些魔法數(shù)字和字符串抽取成一個變量,尤其是多處調(diào)用的時候)
Alt+Shift+F 把Class中的local變量變?yōu)閒ield變量 (比較實用的功能)
Alt+Shift+I 合并變量(可能這樣說有點不妥Inline)
Alt+Shift+V 移動函數(shù)和變量(不怎么常用)
Alt+Shift+Z 重構(gòu)的后悔藥(Undo)
編輯
作用域 功能 快捷鍵
全局 查找并替換 Ctrl+F
文本編輯器 查找上一個 Ctrl+Shift+K
文本編輯器 查找下一個 Ctrl+K
全局 撤銷 Ctrl+Z
全局 復制 Ctrl+C
全局 恢復上一個選擇 Alt+Shift+↓
全局 剪切 Ctrl+X
全局 快速修正 Ctrl1+1
全局 內(nèi)容輔助 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"));
}
希望對你能有所幫助。