Java 文件重命名和删除错误

Java 文件重命名和删除错误,java,file-handling,file-rename,Java,File Handling,File Rename,我正在尝试修改文件中的数据。在检查是否已成功删除并重命名文件时,它始终打印“未成功更改” 下面是我调用此方法的switch case块 Sopln("Modify :-"); Sopln("1)Preffered Period"); Sopln("2)Preffered Class"); Sopln("3)Exit"); int option; do { option=Check_Int("Enter Your Choice

我正在尝试修改文件中的数据。在检查是否已成功删除并重命名文件时,它始终打印“未成功更改”

下面是我调用此方法的switch case块

    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
Sopln(“修改:-”);
Sopln(“1)优惠期”);
Sopln(“2)优先等级”);
Sopln(“3)退出”);
int选项;
做
{
选项=勾选(输入您的选择);
int ctr=0;
开关(选件)
{
案例1:Sopln(“UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU;
String name=Check_String(“输入要更改其详细信息的教师的姓名”);
字符串记录;
而((record=fr.readLine())!=null)
{
字符串标记[]=记录。拆分(“”);
if(name.equalsIgnoreCase(标记[0]))
{
Sopln(“您当前的信息:”);
Sopln(“名称:“+token[0]);
Sopln(“优先期间:+token[3]);
Sopln(“输入您的新优先时段”);
令牌[3]=br.readLine();
println(令牌[0]+“-”+令牌[1]+“-”+令牌[2]+“-”+令牌[3]+“-”+令牌[4]);
ctr++;
}//如果块结束
其他的
{pw.println(记录);}
}//while循环结束
如果(ctr==0)
{Sopln(“未找到”);
子菜单();
}
其他的
{
ctr=0;
转移();
}
fr.close();
关闭();
打破
案例2:Sopln(“UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU;
String name_class=Check_String(“输入要更改其详细信息的教师的姓名”);
字符串记录类;
int-cnt=0;
而((record_class=fr.readLine())!=null)
{
字符串标记[]=记录_class.split(“-”);
if(name_class.equalsIgnoreCase(标记[0]))
{
Sopln(“您当前的信息:-”);
Sopln(“名称:“+token[0]);
Sopln(“首选类:“+token[4]);
Sopln(“输入您的新首选类”);
令牌[4]=br.readLine();
println(令牌[0]+“-”+令牌[1]+“-”+令牌[2]+“-”+令牌[3]+“-”+令牌[4]);
cnt++;
}//如果块结束
其他的
{pw.println(记录_类);}//else块结束
}//while循环结束
如果(cnt==0)
{Sopln(“找不到名称!”);
子菜单();}
其他的
{
cnt=0;
转移();
}//else块结束
fr.close();
关闭();
打破
案例3:主菜单mm=新主菜单();
mm.menu();
打破
}
}while(选项2);
}//更改方法结束
所以,当我检查文档时,会创建临时文件,并进行必要的修改,但不会重命名该文件,也不会删除原始供应文件。
请帮忙

首先要重命名,然后创建一个新的文件变量,然后删除。简单的解决方案

public void transfer()
{ //重命名文件 文件温度=新文件(“温度数据”); 文件供应=新文件(“supply.dat”); 布尔重命名=温度重命名到(电源)


}//传输结束

您确定文件路径正确吗?什么意思?你不知道你是怎么运行这个程序的吗?从Eclipse或Netbeans IDE,还是从CMD?这些文件在哪里?从textpad(相当基本,不像netbeans)Post文件夹结构运行这些程序,我的意思是从运行程序的位置,类文件存储的位置,以及这些文件在驱动器中的位置?bug它不在传输方法内等等!它起作用了!该类是菜单的一个选项。但如果我选择了菜单的其他选项,然后选择“修改”,它会显示“未成功更改”。我是否应该编辑打印主菜单并修改这两个类?
public void transfer()
//delete file
File f = new File("supply.dat");
boolean delete=supply.delete();


if(delete && rename)
    Sopln("Successfully Changed");
else
    Sopln("Not Successfully Changed");