2015-12-16 4 views
1

Я пытаюсь сохранить файл 0_0.xml в кеше. Так что я это делаю, как этотИмя файла в кеше android

String fileName = "0_0.xml" 
File file = new File(context.getCacheDir(), fileName); 
if (file.exists()) { 
    ... 
} else { 
    file = File.createTempFile(fileName, null, context.getCacheDir()); 
    FileOutputStream fos = new FileOutputStream(file); 
    try { 
     fos.write("some_string".getBytes()); 
    } finally { 
     fos.close(); 
    } 
} 

Я запустить мое приложение несколько раз, и задавался вопросом, что он всегда не мог найти этот файл (если не file.exists() Я пишу это, как я описал выше), поэтому он создал новый каждый время. После того, что я перечислил все файлы в моем кэше и есть что-то вроде этого:

cached files

Вопрос почему изменить мой файл это имя и как я могу получить доступ к нему?

ответ

2

Вы создаете файл File.createTempFile. createTempFile() вычислит новое уникальное имя для вашего временного файла, чтобы избежать столкновений с другими операциями, которым также нужен временный файл.

Если вы хотите сохранить файл и найти его снова, не используйте createTempFile() для генерации новых и уникальных имен. Вместо этого используйте тот же объект (file), который вы использовали при проверке, чтобы узнать, существует ли он.

+0

благодарит за ваш ответ! – PepeHands