2014-12-05 2 views
0

Так я сохраняю свой текстовый файл непосредственно во внутреннем хранилище.Не удается найти файл, даже если он существует во внутреннем каталоге

String file ="Data.txt"; 
try { 
      FileOutputStream fos = openFileOutput(file, Context.MODE_APPEND | Context.MODE_WORLD_READABLE); 
      fos.write(query.getBytes()); 
      fos.close(); 
      Toast.makeText(this, "File Successfully Saved", Toast.LENGTH_LONG).show(); 
     } 
     catch (Exception e) { 
      error = e.toString(); 
      Toast.makeText(this, "Exception: "+error, Toast.LENGTH_LONG).show(); 
      e.printStackTrace(); 
     } 

Файл Data.txt создается в данных/данных/com.examples.fileproject/файлов. Я проверил это через DDMS File Explorer. Но когда я пытался получить доступ к этому файлу, он всегда показывает, что файл не существует. код, который я использовал это

file = new File("Data.txt"); 
    if(file.exists()) 
    { 
     Toast.makeText(this, "File Found", Toast.LENGTH_LONG).show(); 
    } 
    else if(!file.exist()) 
    { 
     Toast.makeText(this, "File Not Found", Toast.LENGTH_LONG).show(); 
    } 

Я знаю, что это очень просто и я пытался всеми возможными способами. Я даже не создал ни одной директории. Но все же что-то не так. Надеюсь, кто-то может мне помочь.

+0

Попробуйте файл = новый файл («data/data/com.examples.fileproject/files/Data.txt»); – Rami

+0

Но я думаю, что это место для эмулятора Android. Я не уверен в этом, но если я запустил это на устройстве, будет ли этот путь существовать? – Shubham

+0

не уверен, но я думаю, что это то же самое. попробуйте использовать * ContextWrapper.getFilesDir() *, чтобы получить путь, он вернет */data/data/your.package/files *, поэтому просто вам нужно добавить файл («/Data.txt») – Rami

ответ

0

FileOutputStream fos = openFileOutput (имя файла, Context.MODE_PRIVATE);

+0

Получение того же результата. – Shubham

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