在java中删除文件不起作用
我把这段从互联网上获得的代码放在java程序中,但当我试图删除时,原始文件无法删除,临时文件也无法重命名为原始文件。这两个文件保留在文件夹中,其内容不变在java中删除文件不起作用,java,Java,我把这段从互联网上获得的代码放在java程序中,但当我试图删除时,原始文件无法删除,临时文件也无法重命名为原始文件。这两个文件保留在文件夹中,其内容不变 我不确定您要删除的位置,但在主菜单的最后一行: fd.delete("person.txt",word); 不会删除任何内容,因为Object.equals(null)应始终返回false。(word为null) 如果您试图在循环中删除: // FilingDatabase fd= new FilingDatabase(); S
我不确定您要删除的位置,但在主菜单的最后一行:
fd.delete("person.txt",word);
不会删除任何内容,因为Object.equals(null)
应始终返回false
。(word
为null
)
如果您试图在循环中删除:
// FilingDatabase fd= new FilingDatabase();
System.out.print("Enter word: ");
word=in.next();
//delete("person.txt",word);
它不会删除任何内容,因为delete
行已被注释掉
关于删除和重命名文件,我不确定该告诉您什么,因为这对我很有效。我不确定您要删除的位置,但在主菜单的最后一行:
fd.delete("person.txt",word);
不会删除任何内容,因为Object.equals(null)
应始终返回false
。(word
为null
)
如果您试图在循环中删除:
// FilingDatabase fd= new FilingDatabase();
System.out.print("Enter word: ");
word=in.next();
//delete("person.txt",word);
它不会删除任何内容,因为delete
行已被注释掉
关于删除和重命名这些文件,我不知道该告诉你些什么,因为这对我来说很有效。我不会去想你的代码。。。以及它试图做什么。(你听说过评论吗?Javadocs?你考虑过使用它们吗?) 然而,我想指出的是,在许多情况下,
delete
和rename
都可能失败。在删除
的情况下,包括以下内容:
- 目标文件不存在
- 目标文件确实存在,但应用程序没有访问父目录和/或删除该文件的权限
- 目标对象是目录而不是文件
- (在某些平台上)目标文件被锁定,因为此应用程序或另一个应用程序当前已将其打开
不幸的是,这些方法(在
文件
类上)没有说明删除或重命名失败的原因。(新Java 7文件上的方法
类do…)即使它们能够做到这一点,诊断也会受到OS syscalls报告的限制。在Unix/Linux的情况下,这是非常有限的。我不想去想你的代码。。。以及它试图做什么。(你听说过评论吗?Javadocs?你考虑过使用它们吗?)
然而,我想指出的是,在许多情况下,delete
和rename
都可能失败。在删除
的情况下,包括以下内容:
- 目标文件不存在
- 目标文件确实存在,但应用程序没有访问父目录和/或删除该文件的权限
- 目标对象是目录而不是文件
- (在某些平台上)目标文件被锁定,因为此应用程序或另一个应用程序当前已将其打开
不幸的是,这些方法(在
文件
类上)没有说明删除或重命名失败的原因。(新Java 7文件上的方法
类do…)即使它们能够做到这一点,诊断也会受到OS syscalls报告的限制。在Unix/Linux的情况下,这是非常有限的。为什么不使用相同的填充数据库实例来运行和删除(而不是创建两个不同的实例)?fd.delete(“person.txt”,word)
为什么要在word中传递空值。@RanRag word在那里是空的,因为我试图根据用户的输入建立它。但它仍然不起作用。为什么不使用相同的填充数据库实例来运行和删除(而不是创建两个不同的实例)?fd.delete(“person.txt”,word)
为什么要在word中传递空值。@RanRag word在那里是空的,因为我试图根据用户的输入来创建它。但它仍然不起作用。值得注意的是,虽然文件方法没有说明失败的原因,但在Java 7中,相应的方法会说明失败的原因(删除和移动)值得注意的是,虽然文件方法没有说明失败的原因,但在Java 7中,相应的方法会说明失败的原因(delete
和move
)。
// FilingDatabase fd= new FilingDatabase();
System.out.print("Enter word: ");
word=in.next();
//delete("person.txt",word);