[英]File renaming and deleting error
I am trying to modify the data in the file. 我正在尝试修改文件中的数据。 while checking whether it has successfully deleted and renamed the file,it always prints "Not Successfully changed". 在检查文件是否已成功删除并重命名文件时,它始终会显示“未成功更改”。
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
here is the switch-case block where i am invoking this method. 这是我正在调用此方法的开关盒块。
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
so, when I check my documents,the temp file is created with the the necessary modifications but, But the file is not being renamed nor the original Supply file being deleted. 因此,当我检查我的文档时,临时文件是经过必要的修改后创建的,但是,该文件没有重命名,也没有删除原始的Supply文件。 Plz Help!! 请帮助!!
You 1st to rename and then create a new file variable & then delete. 您首先重命名,然后创建一个新的文件变量,然后删除。 Simple solution. 简单的解决方案。
public void transfer()
{ //rename file File temp=new File("temp.dat"); {//重命名文件File temp = new File(“ temp.dat”); File supply=new File("supply.dat"); 文件供应=新文件(“ supply.dat”); boolean rename=temp.renameTo(supply); 布尔重命名= 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");
}//transfer end } //传输结束
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.