0

我需要从 java 程序中删除文件并编写此代码。它无法删除文件,我不知道为什么。文件未使用且未写保护。

public static void delfile(String filetodel) {
    try {
        File file = new File("filetodel");

        if (file.delete()) {
            System.out.println(file.getName() + " is deleted!");
        } else {
            System.out.println("Delete operation is failed." + filetodel);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}
4

4 回答 4

7

我想问题是这样的:

File file = new File("filetodel");

这应该可能是(从方法中传递的参数filetodel推断):

File file = new File(filetodel);

其他一切似乎都很好,并且正在我的机器上工作。

于 2013-08-07T09:46:43.247 回答
1

如果您只想删除文件,则无需加载它。

java.nio.file.Files.deleteIfExists(filetodel);(其中 filetodel 包含文件的路径)

如果文件被删除,则返回 true,因此您甚至可以将其放在 if 子句中。

于 2013-08-07T09:49:56.263 回答
0

嘿伙计,您应该在 delete static void delete(Path path) 中使用路径作为参数删除文件。static boolean deleteIfExists(Path path) 如果文件存在,则删除该文件。

在这里搜索:http: //docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html

所以在你的情况下

File file = new File("c://user//filetodel");

file.delete();

或使用 getAbsolutePath(filename) 并在文件路径中使用它

于 2013-08-07T09:49:32.823 回答
0

这是我删除文件的代码。

    public class deletef
    {
      public static void main(String[] args)
     {  
    try{

        File file = new File("/home/rahul/Downloads/ou.txt");

        if(file.delete()){
            System.out.println(file.getName() + " is deleted!");
        }else{
            System.out.println("Delete operation is failed.");
        }

    }catch(Exception e){

        e.printStackTrace();

    }

   }
}

您的代码也是正确的,但您还必须在文件中添加扩展名

File file = new File("filetodel");

在这里添加文件的扩展名,否则你的代码不会删除文件

于 2013-08-07T09:54:13.523 回答