繁体   English   中英

文件重命名和删除错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM