Ale*_*ino 1 java macos javafx file macos-sonoma
我有一个 javafx 应用程序,允许选择图像并显示它,或者让您选择一个文件夹,读取其中的图像并显示它们。无论哪种情况,它在 Windows 上都可以正常工作,但在 macOS 上运行时,它就不起作用并抛出 FileNotFoundException. 这是读取它的代码:
String path = Paths.get(pathToFile).toUri().toString()
Run Code Online (Sandbox Code Playgroud)
那条线给了我路径
file:///Users/userName/Downloads/untitled%20folder/image.png
但随后例外说
file:/Users/username/Downloads/untitled%20folder/image.png (No such file or directory)
Run Code Online (Sandbox Code Playgroud)
我尝试删除文件夹中的空间,为所有文件授予 0777 权限。它只是不读取它。
我想补充一点,文件路径是从 javaFX 文件选择器获取的,而不是手动放置在那里。
完整的代码差不多是这样的:
file:/Users/username/Downloads/untitled%20folder/image.png (No such file or directory)
Run Code Online (Sandbox Code Playgroud)
方法中抛出了异常readMetadata(),但已经file.exists()返回 false。
该类File使用本地路径,而不是 URI,因此,如您所见Paths,仅获取 URI,然后将其转换为字符串并将其与 a 一起使用File是行不通的。
相反,您可以使用直接Paths获取File对象:
File file = Paths.get(loadedFilePath).toFile();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |