【发布时间】:2009-10-14 11:00:49
【问题描述】:
在应用程序中实现了一个deleteFile(String path) 方法,该方法必须删除位于给定路径的文件。
如果路径包含路径分隔符(字符/),该方法会抛出异常,但要删除特定文件,必须使用完整路径并且它包含分隔符。由于条件冲突,我还没有找到成功删除文件的方法。
有人知道如何绕过这个问题吗?
【问题讨论】:
在应用程序中实现了一个deleteFile(String path) 方法,该方法必须删除位于给定路径的文件。
如果路径包含路径分隔符(字符/),该方法会抛出异常,但要删除特定文件,必须使用完整路径并且它包含分隔符。由于条件冲突,我还没有找到成功删除文件的方法。
有人知道如何绕过这个问题吗?
【问题讨论】:
在不知道异常是什么的情况下很难说。一般来说,最好避免硬编码路径分隔符,而是使用File.separator 符号。
你打算如何删除文件? File 类有一个 delete 方法;你用的是这个吗?
我猜这个问题实际上可能与我上面提到的事情无关,而是由于权限。您是否尝试访问您的程序无权访问的文件或目录?
【讨论】:
根据 javadoc 的 Application.deleteFile 路径不能包含路径分隔符,在 Unix 上是 : 在 Windows 上是 ;,所以至少根据 java doc 你可以删除具有完整路径的文件。
编辑:
'\' 是 File.separtor 而不是 pathSeparator。
【讨论】: