【发布时间】:2011-02-09 05:39:05
【问题描述】:
我正在尝试使用 j2me 清除文件夹中的所有文件。我该怎么做?
【问题讨论】:
-
@Mudassir - J2ME 不是 J2SE。大多数 J2SE 库类都丢失了……包括您在 J2SE 应用程序中用来执行此操作的关键类。
我正在尝试使用 j2me 清除文件夹中的所有文件。我该怎么做?
【问题讨论】:
由于您使用的是 J2ME,因此您无法使用 java.io.File 类。
所以我假设您使用的是 FileConnector 可选包 (FCOP)。
查看javax.microedition.io.file.FileConnection 的javadocs,您应该能够弄清楚细节。
我不是 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)留给读者练习:-)
【讨论】:
FileConnection.delete() 被记录为引发异常。
使用 File.list() 或 File.listFiles() 获取文件列表。然后迭代列表并使用 File.delete() 删除它们。使用 File.delete() 删除目录。
如果你想包含子目录,递归地执行前面的代码,在你删除目录之前递归每个子目录。
【讨论】:
java.io.File。