【问题标题】:Clear folder - delete files in folder - J2ME清除文件夹 - 删除文件夹中的文件 - J2ME
【发布时间】:2011-02-09 05:39:05
【问题描述】:

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

【问题讨论】:

  • @Mudassir - J2ME 不是 J2SE。大多数 J2SE 库类都丢失了……包括您在 J2SE 应用程序中用来执行此操作的关键类。

标签: java java-me jsr75


【解决方案1】:

由于您使用的是 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() 被记录为引发异常。
【解决方案2】:

使用 File.list() 或 File.listFiles() 获取文件列表。然后迭代列表并使用 File.delete() 删除它们。使用 File.delete() 删除目录。

如果你想包含子目录,递归地执行前面的代码,在你删除目录之前递归每个子目录。

【讨论】:

  • 小问题。 J2ME 没有java.io.File
  • @Stephen - 啊,这取决于你的配置和配置文件 - 我习惯使用个人配置文件,它确实有。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多