2013-11-03 42 views
0

在我的應用程序中,我正在創建一個文件。有時我的應用程序崩潰,這是因爲文件名包含不允許的字符。我知道我可以使用String.replace()刪除這些字符,但我不知道哪些字符是禁止的。所以我的問題:哪些字符被禁止或者有沒有可以用來刪除所有禁止字符的方法?Android:刪除文件名中的禁止字符

回答

3

有幾種方法可以清理文件名,您可以解決最低常見的實際問題,這將是ASCII字符[A-Z | 0-9 | _]的一小部分。大多數文件系統都會處理更多的名稱中的可能字符集,但它總是有一些特定的平臺。

一般路徑分隔符,非打印字符和有特殊含義的字符被明確禁止在最常見的文件systens或應避免使用,因爲它們在許多情況下造成的麻煩。此外,雖然某些文件系統確實允許某些字符(方括號和\是聲名狼借的示例),但如果您需要與不允許它們的系統交換此類文件,它們會帶來很多麻煩(軼事:Try使用包含文件名中的「\」的IS0-9660文件名爲Windows95系統提供一張CD - 嚴重破壞)。

所以,儘管Android只禁止其名稱中的字符子集,但爲了互操作性,禁止在任何其他常見文件系統中禁用任何特殊字符通常不是一個壞主意。

不應在文件名中使用的字符的通用列表:http://www.mtu.edu/umc/services/web/cms/characters-avoid/