問題:如何以編程方式區分資產文件夾中的目錄和常規文件?確定資產文件夾中文件的文件類型
當使用AssetManager訪問資產文件夾中的文件時,似乎無法確定文件實際上是文件還是目錄。您從list
方法獲得文件列表,然後使用open
方法打開文件。我想可能使用openFd
方法獲取資產文件描述符(然後請求正常的文件描述符)會提供一些信息。但是請求一個目錄的文件描述符會導致一個IOException(這很有意義,因爲這對於一個目錄有一個文件描述符意味着什麼?)。
目前我依靠IOException(由於嘗試在資產文件夾中打開一個目錄而產生)以確定文件是否實際上是一個目錄。 (打開一個普通的文件工作得很好)。這似乎是一個壞主意。任何其他建議來區分文件和目錄?
你如何安排你的文件到資產目錄?你不能保持檔案 與文件夾分開,而不是混合所有的東西嗎? – 2010-06-09 22:01:39
同意。你是放置在「assets /'目錄中的人。因此,你不應該猜測什麼是和不是一個目錄。 – CommonsWare 2010-06-09 22:51:52
無論您如何將文件放在'assets /'文件夾中,這個問題都存在。 list方法返回位於請求的目錄路徑(例如'image.jpg','music.mp3','Tools')中的所有文件和的String []陣列。如果你想在'assets /'裏面有任何的目錄結構,你會遇到這個問題。 – ChaimKut 2010-06-10 12:58:29