尝试在 Java 中拆分文件路径时出错
Get error when trying to split file path in Java
System.out.println(p)
对于上面的代码,我得到以下输出,其中 p 是一个 Path
对象。
C:\repo\Unit-test-coverage\abcd\unit-test-repo\pcmbb\source\pcmbb\database\WorkOrderTenderUtil.plsql
我想获取不带扩展名的文件名。所以我尝试了下面的代码。
System.out.println(p.getFileName().toString());
然后我得到了以下输出。
WorkOrderTenderUtil.plsql
为了获取不带扩展名的文件名,我试图将上面的输出拆分为 .
。
但是分裂并没有像预期的那样发生。结果数组的长度始终为 0。
这是什么原因。我做错了什么。我也尝试通过以下解决方法获取文件名。但是得到同样的错误。
new File(p).getName().split(".");
split 方法以正则表达式作为参数。 “。”是匹配任何字符的特殊标记,因此匹配字符串中的所有字符,不给 return.
留下任何内容
您需要使用两个反斜杠对句点进行转义,以使正则表达式仅针对句点。
"WorkOrderTenderUtil.plsql".split("\.");
这是一个长度为 2 的数组,其值为“WorkOrderTenderUtil”和“plsql”
System.out.println(p)
对于上面的代码,我得到以下输出,其中 p 是一个 Path
对象。
C:\repo\Unit-test-coverage\abcd\unit-test-repo\pcmbb\source\pcmbb\database\WorkOrderTenderUtil.plsql
我想获取不带扩展名的文件名。所以我尝试了下面的代码。
System.out.println(p.getFileName().toString());
然后我得到了以下输出。
WorkOrderTenderUtil.plsql
为了获取不带扩展名的文件名,我试图将上面的输出拆分为 .
。
但是分裂并没有像预期的那样发生。结果数组的长度始终为 0。
这是什么原因。我做错了什么。我也尝试通过以下解决方法获取文件名。但是得到同样的错误。
new File(p).getName().split(".");
split 方法以正则表达式作为参数。 “。”是匹配任何字符的特殊标记,因此匹配字符串中的所有字符,不给 return.
留下任何内容您需要使用两个反斜杠对句点进行转义,以使正则表达式仅针对句点。
"WorkOrderTenderUtil.plsql".split("\.");
这是一个长度为 2 的数组,其值为“WorkOrderTenderUtil”和“plsql”