在Java中的给定路径处创建目录-带空格的路径

在Java中的给定路径处创建目录-带空格的路径,java,Java,我的java代码如下所示- string folderName = "d:\my folder path\ActualFolderName"; File folder = new File( folderName ); folder.mkdirs(); 所以这里给定的目录路径中有空间。创建的文件夹是d:\my,不是我期望的文件夹 是否有任何特殊的方法来处理文件/文件夹路径中的空间。您应该为java中的路径使用\。试试这个代码 String folderName = "D:\\my folder

我的java代码如下所示-

string folderName = "d:\my folder path\ActualFolderName";
File folder = new File( folderName );
folder.mkdirs();
所以这里给定的目录路径中有空间。创建的文件夹是
d:\my
,不是我期望的文件夹


是否有任何特殊的方法来处理文件/文件夹路径中的空间。

您应该为java中的路径使用
\
。试试这个代码

String folderName = "D:\\my folder path\\ActualFolderName";
File folder = new File( folderName );
folder.mkdirs();
或者使用前斜杠
/
,这样应用程序将独立于操作系统

String folderName = "D:/my folder path1/ActualFolderName";

对于java中的路径,您应该使用
\\
。试试这个代码

String folderName = "D:\\my folder path\\ActualFolderName";
File folder = new File( folderName );
folder.mkdirs();
或者使用前斜杠
/
,这样应用程序将独立于操作系统

String folderName = "D:/my folder path1/ActualFolderName";

您需要退出路径seperator:

String folderName = "D:\\my folder path\\ActualFolderName";

File file = new File(folderName);
if (!file.exists()) {
    file.mkdirs();
}

您需要退出路径seperator:

String folderName = "D:\\my folder path\\ActualFolderName";

File file = new File(folderName);
if (!file.exists()) {
    file.mkdirs();
}

以下备选方案应在Windows中工作:

String folderName = "d:\\my\\ folder\\ path\\ActualFolderName";
String folderName = "\"d:\\my folder path\\ActualFolderName\"";

以下备选方案应在Windows中工作:

String folderName = "d:\\my\\ folder\\ path\\ActualFolderName";
String folderName = "\"d:\\my folder path\\ActualFolderName\"";

首先,您拥有的字符串路径无论如何都是不正确的,因为反斜杠必须用另一个反斜杠转义,否则
\m
将被解释为特殊字符

使用文件URI怎么样

String folderName = "d:\\my folder path\\ActualFolderName";
URI folderUri = new URI("file:///" + folderName.replaceAll(" ", "%20"));
File folder = new File(folderUri);
folder.mkdirs();

首先,您拥有的字符串路径无论如何都是不正确的,因为反斜杠必须用另一个反斜杠转义,否则
\m
将被解释为特殊字符

使用文件URI怎么样

String folderName = "d:\\my folder path\\ActualFolderName";
URI folderUri = new URI("file:///" + folderName.replaceAll(" ", "%20"));
File folder = new File(folderUri);
folder.mkdirs();

除非您运行的是非常旧的Java版本,否则请使用JDK7中的路径API:

Path p = Paths.get("d:", "my folder path", "ActualFolderName");
File f = p.toFile();

它将自动为您处理文件分隔符和空格,而不考虑操作系统。

除非您运行的是非常旧的Java版本,否则请使用JDK7中的路径API:

Path p = Paths.get("d:", "my folder path", "ActualFolderName");
File f = p.toFile();

它将自动为您处理文件分隔符和空格,而不考虑操作系统。

您需要转义路径(在路径中使用
\\
,而不是
\
),并且您还需要使用
字符串,带大写字母S,因为您发布的代码无法编译。请尝试以下方法,这样应该可以:

String folderName = "D:\\my folder path\\ActualFolderName";
new File(folderName).mkdirs();
如果您是从用户输入中获取文件夹名称(即,代码中没有硬编码),则不需要转义,但应确保它确实是您期望的名称(在创建要验证的文件之前,在代码中打印出来)


如果仍然存在问题,您可能希望尝试使用系统文件分隔符字符,您可以通过
system.getProperty(file.separator)
或访问
文件
类中的等效字段获得该字符。同时检查。

您需要转义您的路径(在路径中使用
\\
,而不是
\
),并且您还需要使用
String
,带有大写字母S,因为您发布的代码无法编译。请尝试以下方法,这样应该可以:

String folderName = "D:\\my folder path\\ActualFolderName";
new File(folderName).mkdirs();
如果您是从用户输入中获取文件夹名称(即,代码中没有硬编码),则不需要转义,但应确保它确实是您期望的名称(在创建要验证的文件之前,在代码中打印出来)


如果仍然存在问题,您可能希望尝试使用系统文件分隔符字符,您可以通过
system.getProperty(file.separator)
或访问
文件
类中的等效字段获得该字符。另请检查。

您可以将空格替换为“\\”用于转义字符串中的特殊字符。.您是否尝试过用“`”转义空格?这可能是用户定义的值。我无法控制它。您显示的代码甚至不是有效的Java。您可以将空格替换为“\\”用于转义字符串中的特殊字符。您尝试过用“`”转义空格吗?这可能是用户定义的值。我无法控制它。您显示的代码甚至不是有效的Java。仅供参考:不需要
文件.exists()
检查,因为
mkdirs()
只会在目录不存在时创建目录。仅供参考:
文件.exists()
检查,因为
mkdirs()
将仅在目录不存在时创建该目录。为什么在
URI folderUri=new URI(((“文件://“+folderName.replaceAll”(“,“%20”))中有额外的圆括号为什么在
urifolderuri=newuri(((“文件://“+folderName.replaceAll(“,“%20”))中有额外的圆括号