首页 > 解决方案 > File.Delete() 和 File.Rename 被忽略

问题描述

我目前正在测试 CSV 文件的编辑方法。但是, File.Delete() 和 File.Rename() 以黄色突出显示,并告诉我这些命令将被忽略。这是什么原因,我该如何解决?

public class Main {

    private static Scanner x;

    public static void main(String[] args) {
        String filepath = "Leads.csv";
        String editerm = "Lead_000";
        String newID = "Lead_003";
        String newname = "Cac";
    }

    public static void editRecord(String filepath, String editerm, String newID, String newname) {
        String tempfile = "temp.csv;";
        File oldfile = new File(filepath);
        File newfile = new File(tempfile);
        String ID = "";
        String name = "";
        try {
            FileWriter fw = new FileWriter(tempfile, true);
            BufferedWriter bw = new BufferedWriter(fw);
            PrintWriter pw = new PrintWriter(bw);
            x = new Scanner(new File(filepath));
            x.useDelimiter("[,\n]");

            while (x.hasNext()) {
                ID = x.next();
                name = x.next();
                if (ID.equals(editerm)) {
                    pw.println(newID + "," + newname);
                } else {
                    pw.println(ID + "," + name);
                }
                x.close();
                pw.flush();
                pw.close();
                oldfile.delete();
                File dump = new File(filepath);
                newfile.renameTo(dump);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

标签: javacsvfile-io

解决方案


我猜IDE标记了你的File.Delete()File.Rename()线。它说它将忽略此函数的结果,因为您不存储返回值。

如果你想修复它,你应该存储返回值

boolean result = oldfile.delete();

推荐阅读