【问题标题】:Path to file on a Mac: FileNotFoundExceptionMac 上的文件路径:FileNotFoundException
【发布时间】:2011-05-12 00:21:14
【问题描述】:

我正在使用 Mac 并尝试在我的桌面上指定文件的路径。

我只是这样做了:File file = new File("/users/desktop/sample.json");

当我尝试运行它时,我得到了 FileNotFoundException。

如何正确指定路径?

【问题讨论】:

    标签: java


    【解决方案1】:

    由于您要查找的是您的桌面文件夹,而不是名称为“desktop”的用户的根文件夹,因此您需要在用户文件夹之后添加您的用户名。例如:

    File file = new File("/Users/LuxuryMode/Desktop/sample.json");
    

    【讨论】:

    • 它不适用于 android 我找不到文件
    • @coder:我不知道你为什么期望我的答案适用于 Android - 这是一个 Mac 问题,而不是 Android 问题。
    • 没关系,我在 mac 上的 eclipse 编辑器上使用 android,因为你使用 java,所以我认为它可以工作,无论如何通过将文件放入资产中解决了我的问题。
    • 这是对的。默认情况下,macOS 硬盘格式化为保留大小写但不区分大小写。因此,虽然使路径的大小写与磁盘上的大小写相匹配是一种很好的风格,但这与这段代码是否可以工作无关。 (虽然您可以选择将硬盘格式化为区分大小写,但这是一个选项,而不是 Mac 硬盘出厂时的方式)。添加缺少的用户名更有可能是实际修复。
    • @uliwitness 是的,你是对的。第一段可能更适合作为脚注。但我会删除它并改为支持您的评论。
    【解决方案2】:

    要了解您要给出的正确路径,请将您的文件拖放到Mac terminal,这将为您提供文件的路径,如下所示 ex:/Users/Smith/Desktop/PI/ABApBASICS.docx

    您所要做的就是将此代码粘贴到 Eclipse 中,但请注意黑色斜杠会抛出错误:invalid escape sequence 解决方案: ex://Users//Harish//Desktop//PI//ABApBASICS.docx 我能够读取文件而没有错误输入上述路径。

    【讨论】:

    • 这不是一个有效的Mac路径,这个答案是不一致的。 Mac 路径不以诸如“ex:”之类的卷字母开头,这是 Windows 的事情。此外,这些是斜杠,而不是反斜杠,不需要转义。 (同样,Windows 使用反斜杠)。在 Mac 终端上拖动文件将生成标准的 Unix 路径。但是,它将使用反斜杠来转义空格,这在 Java 字符串中无效,因此 that 是您应该注意反斜杠的地方。
    猜你喜欢
    • 1970-01-01
    • 2018-07-25
    • 1970-01-01
    • 1970-01-01
    • 2013-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-28
    相关资源
    最近更新 更多