我分裂一個字符串,其中包含從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