无法使用'\';使用JAVA的字符

无法使用'\';使用JAVA的字符,java,split,substring,directory-structure,Java,Split,Substring,Directory Structure,我正在尝试使用JAVA程序在Windows系统中重新创建文件夹结构。我正在从另一个系统中获取预期的文件路径,作为JAVA程序中的字符串参数,并且我应该插入文件路径字符串以标识每个级别的文件夹名。 “\”(windows系统中文件路径字符串的一部分)与字符串中的其他合法字符一起使用时,其行为不同。它与字符串中的以下字符组合并产生不同的结果(生成不同的字符,因为\00的ascii值不同于\separate和0的ascii值) 可以使用JAVA代码将此字符串插入到 "drivename","folde

我正在尝试使用JAVA程序在Windows系统中重新创建文件夹结构。我正在从另一个系统中获取预期的文件路径,作为JAVA程序中的字符串参数,并且我应该插入文件路径字符串以标识每个级别的文件夹名。 “\”(windows系统中文件路径字符串的一部分)与字符串中的其他合法字符一起使用时,其行为不同。它与字符串中的以下字符组合并产生不同的结果(生成不同的字符,因为\00的ascii值不同于\separate和0的ascii值)

可以使用JAVA代码将此字符串插入到

"drivename","folderName1","00000innerFolderName","03thefileName.fileExtension"
有关此问题根本原因的其他信息:


我有一个旧的目录结构,其中有人在文件系统中创建了名为“001thImageFolder”“firstImageFolder”等的文件夹。现在,如果我得到一个文件的文件路径,该文件位于一个以上述方式命名的目录中,则filepath中的“\”将被附加文件夹名称的第一个或第一个和第二个字符,并自动转换为转义序列。我想消除这种转义序列转换。

字符串中没有反斜杠

仅转义序列:

  • \f
    =换页字符
  • \0
    =nul字符(十六进制零)
但是,如果确实有反斜杠:

String parts = str.split("\\\\");
注意双反斜杠;加倍一次以在字符串文字中创建单个反斜杠字符,再次加倍以在正则表达式中创建文字反斜杠


我认为您的目的是让字符串文字为:

String windowsFilePath ="drivename\\folderName1\\00000innerFolderName\\03thefileName.fileExtension";

您不需要写入\而是需要写入\\,但您可以使用
File.separator
并附加它instead@EpicPandaForce是的,我同意。我的字符串中有转义序列。但是在这个字符串中引入“\\”而不是“\”并不在我的掌握之中。我得到一个类似这样的字符串的Java程序提要。那么,有没有一种方法可以用java来实现这一点?你从提要中得到了什么样的响应?@thomas实际上,这比这更悲惨——请看编辑后的回答是的,这是我的意图。如何更改“String WindowsFilePath=“drivename\folderName1\00000 InnerFolderName\03thefileName.fileExtension”;”到“String windowsFilePath=“drivename\\folderName1\\00000 InnerFolderName\\03thefileName.fileExtension”;”
String windowsFilePath ="drivename\\folderName1\\00000innerFolderName\\03thefileName.fileExtension";