清空文件夹 - 删除文件夹中的文件 - J2ME

3
我正在尝试使用j2me清空文件夹中的所有文件。我该怎么做?

4
@Mudassir - J2ME并非J2SE。大多数J2SE库类都不存在,包括在J2SE应用程序中用于此操作的关键类。 - Stephen C
2个回答

9
由于您正在使用J2ME,因此java.io.File类对您不可用。 所以我假设您正在使用FileConnector Optional Package (FCOP)。 查看javax.microedition.io.file.FileConnection的javadoc,您应该能够弄清楚细节。 我不是J2ME专家,但我认为代码可能会像这样:
FileConnection fconn = (FileConnection) Connector.open("file:///SomeDirectory");
Enumeration en = fconn.list();
while (en.hasMoreElements()) {
    String name = en.nextElement();
    FileConnection tmp = (FileConnection) Connector.open(
        "file:///SomeDirectory/" + name);
    tmp.delete();
    tmp.close();
}

异常处理、适当的资源处理(使用finally)留给读者自己练习 :-)


嗨。谢谢。我在想,如果文件夹里面有子目录,我需要使用枚举来查找文件吗? - JohnDoe4136
1
如果有可能存在子目录,您需要将我的代码转换为递归方法,在删除它们之前清空子目录。FileConnection.delete()的文档说明如果您尝试删除非空目录,则会抛出异常。 - Stephen C

0
使用File.list()或File.listFiles()获取文件列表。然后迭代该列表并使用File.delete()删除它们。最后使用File.delete()删除目录。
如果您想包括子目录,请递归执行上述代码,在删除目录之前遍历每个子目录。

4
小问题。J2ME 没有 java.io.File - Stephen C
1
@Stephen - 噢,这取决于您使用的哪个配置和配置文件 - 我通常使用个人配置文件,它确实具有该功能。 - Lawrence Dol

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接