不删除接受条件的文件(递归)

时间:2019-06-30 15:07:55

标签: java

这段代码有什么问题,我想递归地读取文件夹中的所有文件,以检查它们是否包含特定单词,如果接受此条件,则要检查它们是否可写,我想删除它们。

public void del(String text) throws IOException {
    if (UtilityClass.isEmpty(text)) {
        throw new IOException("Teksti null");
    }
    int count = del(folder, text);

    try (FileWriter fw = new FileWriter("C://Users//Admin//Desktop//deletewriteout")) {

        fw.write(
                "Ne totalin u fshine : " + count + " file-a te cilet ishin te shkrushem dhe qe permabin : " + text);
        fw.flush();
    }
}

private int del(File file, String text) throws IOException {
    int counter = 0;
    String line = null;
    File[] fajllat = file.listFiles((File f) -> f.isFile() && f.canRead());
    for (File f : fajllat) {
        FileReader fr = new FileReader(f);
        BufferedReader br = new BufferedReader(fr);
        while ((line = br.readLine()) != null) {
            if (line.contains(text)) {
                f.delete();
                counter++;
            }

            else if (f.isDirectory()) {
                counter += del(f, text);
            }

        }
    }
    return counter;
}

1 个答案:

答案 0 :(得分:0)

您需要先关闭输入流,然后再删除文件。

axios.post(`/api/v1/posts/${id}/share`,
        {}, // or whatever data you want to send.
        {
        "headers": {
                ...
            },
        });

请参见here