[英]File renaming and deleting error
我正在嘗試修改文件中的數據。 在檢查文件是否已成功刪除並重命名文件時,它始終會顯示“未成功更改”。
public void transfer()
{
File temp=new File("temp.dat");
File supply=new File("supply.dat");
boolean rename=temp.renameTo(supply);
boolean delete=supply.delete();
if(delete && rename)
Sopln("Successfully Changed");
else
Sopln("Not Successfully Changed");
}//transfer end
這是我正在調用此方法的開關盒塊。
Sopln("Modify :-");
Sopln("1)Preffered Period");
Sopln("2)Preffered Class");
Sopln("3)Exit");
int option;
do
{
option=Check_Int("Enter Your Choice");
int ctr=0;
switch(option)
{
case 1: Sopln("______________________________");
String name=Check_String("Enter The Name Of The Teacher Whose Details You Want To Change");
String record;
while((record=fr.readLine())!=null)
{
String token[]=record.split("-");
if(name.equalsIgnoreCase(token[0]))
{
Sopln("Your Current Info:");
Sopln("Name : "+token[0]);
Sopln("Preffered Period : "+token[3]);
Sopln("Enter Your New Preffered Period");
token[3]=br.readLine();
pw.println(token[0]+"-"+token[1]+"-"+token[2]+"-"+token[3]+"-"+token[4]);
ctr++;
}//if block end
else
{pw.println(record);}
}//while loop end
if(ctr==0)
{Sopln("Not Found");
submenu();
}
else
{
ctr=0;
transfer();
}
fr.close();
pw.close();
break;
case 2: Sopln("______________________________");
String name_class=Check_String("Enter The Name Of The Teacher Whose Details You Want To Change");
String record_class;
int cnt=0;
while((record_class=fr.readLine())!=null)
{
String token[]=record_class.split("-");
if(name_class.equalsIgnoreCase(token[0]))
{
Sopln("Your Current Information:-");
Sopln("Name : "+token[0]);
Sopln("Preffered Class : "+token[4]);
Sopln("Enter Your New Preffered Class");
token[4]=br.readLine();
pw.println(token[0]+"-"+token[1]+"-"+token[2]+"-"+token[3]+"-"+token[4]);
cnt++;
}//if block end
else
{pw.println(record_class);}//else block end
}//while loop end
if(cnt==0)
{Sopln("Name Not Found!");
submenu();}
else
{
cnt=0;
transfer();
}//else block end
fr.close();
pw.close();
break;
case 3: main_menu mm=new main_menu();
mm.menu();
break;
}
}while(option<0 || option>2);
}//change method end
因此,當我檢查我的文檔時,臨時文件是經過必要的修改后創建的,但是,該文件沒有重命名,也沒有刪除原始的Supply文件。 請幫助!!
您首先重命名,然后創建一個新的文件變量,然后刪除。 簡單的解決方案。
public void transfer()
{//重命名文件File temp = new File(“ temp.dat”); 文件供應=新文件(“ supply.dat”); 布爾重命名= temp.renameTo(供應);
//delete file
File f = new File("supply.dat");
boolean delete=supply.delete();
if(delete && rename)
Sopln("Successfully Changed");
else
Sopln("Not Successfully Changed");
} //傳輸結束
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.