首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Linux下用Java创建一个带有空格的文件夹?

问如何在Linux下用Java创建一个带有空格的文件夹?
EN

Stack Overflow用户
提问于 2013-02-17 07:07:25
回答 3查看 1.9K关注 0票数 3

我有一个严重的问题

我想使用Java类和运行时接口运行一个Linux命令,这里有一个创建文件夹的命令,该文件夹名为"My Folder",带有空格

对于create Unix命令很容易做到: mkdir My\ Folder或mkdir "My Folder“

但是如何在Java中翻译,我尝试了两个命令: Runtime.exec("mkdir My\ Folder") Runtime.exec("mkdir \"My Folder\"")

下面是一个示例:

代码语言:javascript
复制
import java.io.IOException;
public class CreerDossier {
    public static void main(String[] args) throws IOException {
        Runtime runtime = Runtime.getRuntime();
        runtime.exec("mkdir My\\ Folder");
        runtime.exec("mkdir \"My Folder\"");
    }
}

但它还是不起作用,

对于runtime.exec("mkdir My\ Folder"),它创建了两个文件夹My\和Folder For runtime.exec("mkdir \"My Folder\""),它还创建了两个文件夹"My and Folder“

有解决方案吗?

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-02-17 07:18:12

代码语言:javascript
复制
runtime.exec(new String[] { "mkdir", "My Folder" });
票数 1
EN

Stack Overflow用户

发布于 2013-02-17 07:09:45

为此,使用File.mkdir()要容易得多。

代码语言:javascript
复制
File dir = new File("My Folder");
dir.mkdir();
票数 4
EN

Stack Overflow用户

发布于 2013-02-17 07:45:36

其他答案已经解释了如何在目录名称中放置空格。我想试着说服你不要这样做。

按照惯例,Linux上的路径名中没有空格。确定文件系统允许这样做,以此类推。但这让Linux用户的生活变得很尴尬:

  • 从命令提示符输入带空格的路径名时,必须始终记住将路径名加引号或转义空格。
  • 在编写将路径名存储在变量中的shell脚本时,必须注意路径名中是否有空格。如果不这样做,脚本很可能会中断。

将它们组合在一起,你会发现你漂亮的目录名称中有空格,实际上是一个讨厌的东西…或者更糟。

我的建议是重新设计你的系统来避免这种情况。要么一开始就不允许系统用户将空格放在名称中,要么(如果您必须支持这一点,因为这是必需的),然后:

  • 使用类似URL样式的百分号编码对文件名进行编码,以便在文件系统中的实际路径名中不会将空格字符表示为空格,或者
  • 将用户提供的名称存储在数据库中。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14916146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档