无法使用'\';使用JAVA的字符
我正在尝试使用JAVA程序在Windows系统中重新创建文件夹结构。我正在从另一个系统中获取预期的文件路径,作为JAVA程序中的字符串参数,并且我应该插入文件路径字符串以标识每个级别的文件夹名。 “\”(windows系统中文件路径字符串的一部分)与字符串中的其他合法字符一起使用时,其行为不同。它与字符串中的以下字符组合并产生不同的结果(生成不同的字符,因为\00的ascii值不同于\separate和0的ascii值) 可以使用JAVA代码将此字符串插入到无法使用'\';使用JAVA的字符,java,split,substring,directory-structure,Java,Split,Substring,Directory Structure,我正在尝试使用JAVA程序在Windows系统中重新创建文件夹结构。我正在从另一个系统中获取预期的文件路径,作为JAVA程序中的字符串参数,并且我应该插入文件路径字符串以标识每个级别的文件夹名。 “\”(windows系统中文件路径字符串的一部分)与字符串中的其他合法字符一起使用时,其行为不同。它与字符串中的以下字符组合并产生不同的结果(生成不同的字符,因为\00的ascii值不同于\separate和0的ascii值) 可以使用JAVA代码将此字符串插入到 "drivename","folde
"drivename","folderName1","00000innerFolderName","03thefileName.fileExtension"
有关此问题根本原因的其他信息:
我有一个旧的目录结构,其中有人在文件系统中创建了名为“001thImageFolder”“firstImageFolder”等的文件夹。现在,如果我得到一个文件的文件路径,该文件位于一个以上述方式命名的目录中,则filepath中的“\”将被附加文件夹名称的第一个或第一个和第二个字符,并自动转换为转义序列。我想消除这种转义序列转换。字符串中没有反斜杠 仅转义序列:
=换页字符\f
=nul字符(十六进制零)\0
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";