[英]How to create a folder with spaces written in Java under Linux?
我有一個嚴重的問題
我想使用帶有運行時接口的Java類運行Linux命令,有一個命令可以創建一個名為“My Folder”的文件夾,帶有空格
對於create,Unix命令很容易做到:mkdir My \\ Folder或mkdir“My Folder”
但是如何在Java中翻譯它,我嘗試了兩個命令:Runtime.exec(“mkdir My \\ Folder”)Runtime.exec(“mkdir \\”My Folder \\“”)
這是一個例子:
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”
有解決方案嗎?
謝謝 !
使用File.mkdir()
更容易
File dir = new File("My Folder");
dir.mkdir();
其他答案解釋了如何在目錄名稱中放置空格。 我想試着說服你根本不要這樣做。
按照慣例,Linux上的路徑名中沒有空格。 當然文件系統允許這樣,等等。 但它讓Linux用戶的生活變得尷尬:
從命令提示符輸入帶空格的路徑名時,您始終必須記住引用它們或轉義空格。
在編寫路徑名存儲在變量中的shell腳本時,當路徑名中有/可能有空格時,必須要小心。 如果不這樣做,腳本可能會中斷。
結合這些,你會發現你的漂亮目錄名稱中包含空格實際上是一種麻煩......或更糟。
我的建議是重新設計你的系統以避免這種情況。 要么系統的用戶不允許首先在名稱中放置空格,要么(如果你必須支持它,因為它是一個要求),那么:
runtime.exec(new String[] { "mkdir", "My Folder" });
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.