我分裂一个字符串,其中包含从Windows系统的文件名。该字符串使用ascii FS将文件名与其他信息分开java拆分混淆空间字符
例如, filename.jpgFSotherInformationFSanotherPartOfInformation
这里是一些示例代码:
String fs = new String(new byte[]{(byte)32});
String information ="filename (copy).jpg"+fs+"otherInformation";
String[] parts = information.split(fs);
为什么分裂混淆空间分隔与ascii-FS?
我应该使用不同的功能拆分吗? Pattern.quote(FS)确实有助于要么... :-(
那解释一切。我需要fs作为文件名中没有使用的字符,所以fs是完美的。 – 2011-04-14 11:54:10
在Linux上,除了二进制零“\ 0”和路径分隔符斜杠'/'外,每个字符都允许使用文件名。 – 2011-04-14 12:17:46
@ Hans-Wurscht,我会说TB' \ t'更好,因为它更容易阅读。例如您可以将数据加载到Excel或Open Office中。正如@user unknown指出的那样,在UNIX上,FS或TB可以是文件名,所以如果你真的担心它,我会使用'\ 0'或者不同的格式。例如有领域前的每个领域的长度。例如writeUTF()/ readUTF()这允许字段中的任何字符。 – 2011-04-14 12:27:08