我必須更改文件夾的標題框。基本上,在應用程序啓動時,我想尋找舊的外殼,並重新命名它,如果它仍然存在。所以,在我的測試到目前爲止,機器人忽略了外殼,並報告該文件夾殼,你在發什麼的。所以基本上android檢查文件是否存在區分大小寫?
new File(PATH_WITH_OLD_CASING) == new File(PATH_WITH_NEW_CASING)
而且似乎也給您發送的絕對路徑,而不考慮報告什麼實際上是在文件系統中命名的。所以
new File(PATH_WITH_OLD_CASING).getAbsolutePath() == PATH_WITH_OLD_CASING;
和
new File(PATH_WITH_NEW_CASING).getAbsolutePath() == PATH_WITH_NEW_CASING;
即使它們指向同一個文件。
所以我很努力想出一種方法來確定舊套管是否仍然存在。我可能在父目錄上做一個listFiles來獲取外殼,但是它的SD卡的根目錄,並不是真的想在應用程序每次啓動時都這樣做(看起來不是一個非常乾淨的解決方案)。
任何想法?
注意大小寫敏感性文件系統,而不是安卓的屬性的屬性。 Android只遵循文件系統驅動程序所說的內容;特別是在FAT/RFS上,filename不區分大小寫,而ext4文件名區分大小寫。如果你需要比文件系統有不同的比較語義,那麼不幸的是你必須親自做比較。另外,在比較Java中的對象時,您應該使用.equals,除非您提供的代碼只是具有誤導性的具體說明性僞代碼。 – 2011-03-23 15:29:48
說明性的僞代碼。 – 2011-03-23 15:36:50