【问题标题】:Copying Files with Spaces复制带空格的文件
【发布时间】:2009-08-31 22:10:14
【问题描述】:

我正在尝试将一个文件复制到另一个目录,但是当源路径中有一个包含空格的目录时,我复制文件的方式不起作用,例如

/Volumes/public/Music/Directory With Spaces/01.mp3

我正在使用:http://commons.apache.org/io/

我找不到解决方法,有什么想法吗?

编辑:问题可能应该是将带有空格的路径放入 java.io.File 对象。

【问题讨论】:

  • 很奇怪。当您执行new File("/Volumes/public/Music/").listFiles() 时会发生什么?包括Directory With Spaces 吗?
  • (如果包含在内,是否有效?)

标签: java apache file file-io copy


【解决方案1】:

如果您使用的是 1.1 版,那么您应该能够使用 '%20' 来引用空格。

来源:http://commons.apache.org/io/upgradeto1_1.html

【讨论】:

    【解决方案2】:

    如果您使用您指定的目录创建java.io.File 对象,它会找到它吗?它是否找到文件(即file.exists() 返回true)?我的想法是您需要将其编码为File 对象或URI/URL 对象。但是,我对 Apache IO 库并不十分熟悉,因为我倾向于使用 Java 版本中的标准库。

    如果该路径适用于标准 Java IO 库,那么这将指向 Apache IO 库的一些不同处理。如果没有,我会先尝试让它与它们一起工作,然后使用File 对象让它完全工作。

    【讨论】:

    • 执行 file.exists() 会抛出错误。对于 java.io.File 的路径,同时使用 %20 或转义空格失败。
    • 看看 David Mole 的 cmets - 听起来有些东西与您的预期不同。
    【解决方案3】:

    尝试使用转义空格: /Volumes/public/Music/Directory\ With\ Spaces/01.mp3

    【讨论】:

    • 也不喜欢那样。这是我的第一个想法,但没有什么不同。
    猜你喜欢
    • 2014-05-08
    • 1970-01-01
    • 1970-01-01
    • 2015-07-23
    • 2017-04-25
    • 2019-09-27
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多