我需要从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();
}
}
答案 0 :(得分:7)
我想问题是:
File file = new File("filetodel");
这可能是(从方法中传递的参数 filetodel 推断):
File file = new File(filetodel);
其他一切似乎都很好,正在我的机器上工作。
答案 1 :(得分:1)
如果您只想删除该文件,则无需加载该文件。
java.nio.file.Files.deleteIfExists(filetodel);
(其中filetodel包含文件的路径)
如果文件已被删除,则返回true,因此您甚至可以将其放在if子句中。
答案 2 :(得分:0)
嘿伙计你应该在delete中使用路径作为参数 static void delete(路径路径) 删除文件。 static boolean deleteIfExists(路径路径) 删除文件(如果存在)。
在此处搜索:http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html
所以在你的情况下
File file = new File("c://user//filetodel");
file.delete();
或使用getAbsolutePath(filename)并在文件路径中使用它
答案 3 :(得分: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");
此处添加文件的扩展名,否则您的代码将不会删除文件