微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从FileChooser Java读取时如何获取快捷方式文件即lnk文件的路径

如何解决从FileChooser Java读取时如何获取快捷方式文件即lnk文件的路径

当我们从FileChooser java中读取时如何获取快捷方式(即lnk文件)的路径

我们有一个环境,将实际文件存储在服务器中,并将快捷方式文件提供给用户用户从应用程序中选择快捷方式文件,但是当我们选择快捷方式文件时,它将读取目标文件。 现在,如何获取快捷方式文件路径 FileChooser 始终获取目标文件路径 并且还想知道如何识别该文件是快捷文件还是常规文件?因为 FileChooser 始终指向目标文件

这是使用的文件选择器

FileChooser fileChooser = new FileChooser();

File file = fileChooser.showOpenDialog(argument);

此处文件始终指向目标文件

解决方法

假设您使用的是JavaFx FileChooser:如果将.lnk添加到文件扩展名列表,FileChooser将返回原始的.lnk文件路径,否则似乎将路径名解析为链接目标。

尝试使用此代码段启动FileChooser。选择一个LNK文件。即使链接是JPG文件,它也会打印原始LNK文件路径:

FileChooser fc = new FileChooser();
fc.setTitle("Select a lnk");
fc.setInitialDirectory(dir.toFile());
ObservableList<ExtensionFilter> extensionFilters = fc.getExtensionFilters();
extensionFilters.addAll(new ExtensionFilter("Shortcuts","*.lnk"),new ExtensionFilter("Images","*.jpg"));
File f = fc.showOpenDialog(primaryStage);
System.out.println("f="+f);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。