gpt4 book ai didi

java - 文件路径中斜杠和反斜杠的奇怪行为

转载 作者:行者123 更新时间:2023-12-01 18:18:47 25 4
gpt4 key购买 nike

在 Java 中使用文件路径时,我们遇到了奇怪的问题。问题是,有时,在 Windows 中工作时,对路径中使用斜杠和反斜杠创建的文件进行操作会失败。通常,我们用反斜杠替换斜杠,但我们无法确定为什么有时操作失败而其他操作失败。

具体操作是file.delete()。如果只是失败,它不会抛出任何类型的异常。

最佳答案

您不应该使用File.delete()正是出于您所描述的原因;如果操作失败,它不会为您提供有意义的响应。

使用 Files.delete(Path) Files.deleteIfExists(Path) 删除文件(由 Path 表示,请参阅 Paths.get(String…) File.toPath() ),因为这些方法将抛出有意义的 IOException失败时只有后者返回 boolean这将指示成功或不存在,但所有其他条件都会标记为异常。

Windows API 中确实有一些函数会默默地处理斜杠作为分隔符,但由于没有指定哪些 Java API 方法将使用哪些 native 函数,因此您不能依赖这方面的任何特定行为。您应该始终使用 File.separatorChar 所示的分隔符或<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/file/FileSystems.html#getDefault()" rel="noreferrer noopener nofollow">FileSystems.getDefault()</a><a href="http://docs.oracle.com/javase/7/docs/api/java/nio/file/FileSystem.html#getSeparator()" rel="noreferrer noopener nofollow">.getSeparator()</a>当使用nio时API。

关于java - 文件路径中斜杠和反斜杠的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28151817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com