当我在该类中测试该程序时,它会删除 temp.txt 很好,但是当我从另一个类中调用它时,它将无法删除。任何帮助,不胜感激! (ps-我还没有附上我所谓的课程)
public class txtWriteReadDelete{
public static void deleteRecord(String filePath,String usernameDelete) {
String tempFile="temp.txt";
File oldFile=new File(filePath);
System.out.println("oldFile: "+ oldFile);
File newFile=new File(tempFile);
String username="";String password="";
try {
FileWriter fileWriter=new FileWriter(tempFile,true);
BufferedWriter bufferedWriter =new BufferedWriter(fileWriter);
PrintWriter printWriter=new PrintWriter(bufferedWriter);
Scanner x=new Scanner(new File(filePath));
x.useDelimiter("[,\n]");
while (x.hasNext()){
username=x.next();
password=x.next();
if(!username.equals(usernameDelete)) {
System.out.println(username);
printWriter.println(username + "," + password);
}
x.close();
printWriter.flush();
printWriter.close();
boolean deleted = oldFile.delete();
System.out.println("temp deleted: "+deleted);
File dump=new File(filePath);
newFile.renameTo(dump);
}
catch(Exception E) {
E.printStackTrace();
JOptionPane.showMessageDialog(null, "ERROR");
}
答案 0 :(得分:0)
使用.delete()
操作删除文件需要有效路径。如果路径不正确,.delete()
将无法删除该文件。
您可以使用oldFile.isFile()
操作来检查文件的有效性。
您需要提供文件的完整路径。