2013-02-22 3 views
0

Проверка, проверяется ли файл в каталоге. Если нет, он должен скачать его.Проверьте, существует ли файл во внутреннем каталоге

File file = new File(mediadir, _name); 

    if(file.exists()) { 
     Log.i("FILE EXISTS", _name); 
    } else { 
     Log.i("DOWNLOAD", _name); 
     new Download().execute(context, name, "http://192.168.2.136:8080/rest/transfer/"+ linkid +"/"+ username +"/" + json_data.getString("ID")); 
} 

Но File.Exists() всегда правда

файл не существует там

Я бегу это прямо перед File.Exists()

 File mediadir = getDir("tvr", Context.MODE_PRIVATE); 
     if (mediadir.isDirectory()) { 
      String[] children = mediadir.list(); 
      for (int i = 0; i < children.length; i++) { 
       new File(mediadir, children[i]).delete(); 
      } 
     } 
+1

Тогда ваш файл существует? –

+2

«Файл там не существует» - где-то вы делаете ошибку. Либо «mediadir», и «_name» не указывают, где вы думаете, что они делают, или вы не смотрите в нужном месте, когда вы вручную проверяете файловую систему. 'exists()' не лежит, поэтому Android думает, что файл существует. – CommonsWare

+0

Вы добавили к вашему манифесту? WRITE_INTERNAL_STORAGE, если ваш файл находится в памяти устройства. Возможно, у вас нет разрешения на модификацию этого файла, поэтому exists() возвращает true после попытки удалить файл – Droidman

ответ

2

Вы пытались использовать isFile() вместо этого?

+0

мм, позвольте мне попробовать, у меня нет! Я думаю, что это сработает! – Harry

+0

ах вы видите, это работает! большое спасибо! – Harry

0

Попробуйте это,

for (File f : myDir.listFiles()) { 
    //Do your stuf 
    String name = f.getName(); 
    //Here you will get file you have already stored in directory. 

    } 
Смежные вопросы