首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >文件不删除

文件不删除
EN

Stack Overflow用户
提问于 2014-01-28 07:03:58
回答 3查看 103关注 0票数 0

正在尝试删除以名称TRTHIndicative_开头的文件夹中的特定文件。

但是文件没有删除,正在使用下面的代码

代码语言:javascript
复制
testMethod(inputDir);
testMethod(outputFile);


private static void testMethod(String dirName){
    File directory = new File(dirName);

    // Get all files in directory
    File[] files = directory.listFiles();
    for (File file : files) {

        if (file.getName().startsWith("Indicative_")) {
            // Delete each file
            if(file.exists()){
                System.out.println("File is there!");
            }
            if (file.delete()) {
                // Failed to delete file
                System.out.println("Failed to delete " + file);
            } else {
                System.out.println("Deleted file succsfully");
            }
        }

    }

请检查一下,如果有什么问题请告诉我。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-01-28 07:51:05

我认为您试图删除的文件中有权限错误。埃托罗的回答对我也很好。尝试给予每个用户如何更改windows中的文件权限读/写权限

票数 0
EN

Stack Overflow用户

发布于 2014-01-28 07:07:03

您的ifelse混淆了--如果文件已成功删除,File#delete()将返回true。因此,这种情况应予以扭转:

代码语言:javascript
复制
if (file.delete()) {
    System.out.println("Deleted file succesfully");
} else {
    // Failed to delete file
    System.out.println("Failed to delete " + file);
}
票数 1
EN

Stack Overflow用户

发布于 2014-01-28 07:15:10

莫里尼克是对的。我刚试过你的密码。效果很好。只需按以下方式进行更改:

代码语言:javascript
复制
public class Main {

public static void main(String[] args) {
    File directory = new File("C:/temp");
    File[] files = directory.listFiles();
    for (File file : files) {

        if (file.getName().toLowerCase().startsWith("blub")) {
            // Delete each file
            if (file.exists()) {
                System.out.println("File is there!");
            }
            if (file.delete()) {
                System.out.println("Deleted file succsfully");
            } else {
                // Failed to delete file
                System.out.println("Failed to delete " + file);
            }
        }
    }
}

}

注意我添加的toLowerCase()。它将使您的代码片段更易于使用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21398959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档