【问题标题】:String changes its value causing a java.io.FileNotFoundException字符串更改其值导致 java.io.FileNotFoundException
【发布时间】:2019-08-08 03:34:57
【问题描述】:

我正在从一个文件中加载一个文档,这个文件(在一个 URL 中)由于某种原因更改了它的名称,导致 java.io.FileNotFoundException。

虽然我使用用户输入,但我尝试直接输入文件名,但它显示相同的错误。

File input = new File("/example/");

我希望文件名是/example/,但调试显示它是\example

【问题讨论】:

  • 可以公平地说与您的问题相关的唯一代码是File input = new File("/"+ userPage +"/");吗?
  • 我希望文件名是 /example/,但输出是 \example 您在 Windows 上运行,该平台上的路径分隔符是 \;使用 File 您将获得一个本地路径(将使用路径分隔符)。相反,传递String 而不构建File/example/ 不是 URL。 new URL("file:///example") 将是一个 URL。除此之外,您还不清楚您要在这里做什么。

标签: java file filenotfoundexception


【解决方案1】:

您显然是在 Windows 操作系统中运行代码,该操作系统使用 '\' 作为其文件路径分隔符。

File 自动将文件分隔符('/''\')转换为本地文件系统的分隔符,无论在字符串路径中指定什么,从而使用规范化的 local 形式,这就是您所看到的。

您的路径是绝对 路径,因此example 文件应位于根目录中。如果您希望该文件与您运行应用程序的位置相关,请删除前导 / 以使其成为相对路径。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-23
    • 1970-01-01
    • 2015-04-05
    • 2020-10-09
    • 1970-01-01
    • 2016-12-14
    相关资源
    最近更新 更多