如何从拖放路径中获取文件

How to get the a file from drag n dropped paths

所以我想这个问题真的很菜鸟,但我制作了一个 JTextField,用户可以在其中拖放文件以避免在摇摆树上单击半小时。这给了我一个像 file:///media/raphael/Coding/Test/Test%20rscs/Test%20Exercise.asf(我知道文件格式不寻常,它是从我自己的代码生成的)由于 %20 和开头的 file://,此路径不起作用。所以我做了一个函数给我这个:/media/raphael/Coding/Test/Test rscs/Test Exercise.asf 但是当插入 BufferedReader br = new BufferedReader(new FileReader(this.path)); 时这仍然不起作用,给我一个文件未找到异常。奇怪的是,当我在 intellij 中遇到异常时,路径显示为指向文件的 link,所以路径实际上有效吗?我需要做什么才能让 java 识别路径?

问题是,拖动 'n' 拖放会在任何拖放的末尾添加一个额外的 space。这个 space 当然在错误消息或 System.out.println(); 中是不可见的。因此,解决方案是删除字符串的最后一个字符,如果它是 ' '。