如果这个问题太简单了,我很抱歉,我无法谷歌它,因为它不喜欢搜索 %20。
如果我有一个 URL,我使用 getFile() 方法获取我想要打开以进行处理的文件的路径。如果特定文件驻留在包含空格的目录中,则返回的路径将包含 %20 应该是空格的位置。
然后 FileReader 是否能够使用提供的路径,或者我需要用空格替换 %20 吗?
如果这个问题太简单了,我很抱歉,我无法谷歌它,因为它不喜欢搜索 %20。
如果我有一个 URL,我使用 getFile() 方法获取我想要打开以进行处理的文件的路径。如果特定文件驻留在包含空格的目录中,则返回的路径将包含 %20 应该是空格的位置。
然后 FileReader 是否能够使用提供的路径,或者我需要用空格替换 %20 吗?
您需要自己使用URLDecoder。FileReader 只使用它传递的字符串,这是正确的 - %20 是文件名中完全有效的字符序列,如果它被自动转换,您将无法访问包含它的文件。
用于URLDecoder.decode()
解码路径
如果您下载了文件,并将其保存在本地文件系统中。您正在使用 FileReader 将其读取为
FileReader fr = new FileReader(new File(url.getFile()));
是 文件,可以理解 URL 编码。所以你不需要解码它。如果您按照其他人的建议对其进行解码,则在打印文件路径时它将更具可读性。