2015-06-20 4 views
0
package org.jaberrio.personai2; 
import android.content.Context; 
import android.widget.Toast; 
import java.io.FileOutputStream; 

public class DataBaseManager { 

    public void setDataBase(Context context) { 
     String fileName = "CoolDataBaseFile.txt"; 
     String inputText = "Random Text Goes Here"; 
     FileOutputStream outputStream; 
     try { 
      outputStream = context.openFileOutput(fileName, context.MODE_PRIVATE); 
      outputStream.write(inputText.getBytes()); 
      outputStream.close(); 
      Toast finishedLoad = Toast.makeText(context, "I Have Finished Loading", Toast.LENGTH_SHORT); 
      finishedLoad.show(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 

Android FileOutputStream не создавая файлы

Теперь я пытаюсь создать файл, однако, когда я называю этот конструктор Тост уведомляет меня, что он бежал, но файл не создается. Я искал его в data/data /, но мой каталог для приложения даже не существует.

Также я называю конструктор из фрагмента, как это:

DataBaseManager db = new DataBaseManager(); 
     db.setDataBase(getActivity().getApplicationContext());
+0

«Я искал его в данных/данных, но мой каталог для приложения даже не существует» - вы тестируете это на устройстве или на эмуляторе? – CommonsWare

+0

Спасибо, что помогли. На физическом устройстве Aslo @ Der Golem Я собираюсь попытаться, чтобы я вернулся к вам через минуту. (ASUS NEXSUS 7-2012) – Jaberrio

+0

Nope outputStream.flush(); не имеет значения. У меня все еще нет файла. Не могли бы вы также объяснить, что он делает? И если я должен это оставить? [Изображение файлов в данных] (http://puu.sh/iwcfJ/0ebc976c5a.png) – Jaberrio

ответ

2

На физическом устройстве

У вас нет доступа к внутренней памяти на реальном устройстве с помощью обычных инструментов , Основным исключением является то, что вы корнелируете устройство.

adb shell run-as позволяет запускать команды оболочки, как если бы они были запустить приложение, и поэтому в принципе можно использовать, чтобы исследовать внутреннюю память и посмотреть, если файл существует.

Более простым решением является использование эмулятора, особенно эмулятора x86, так как вы можете просматривать внутреннее хранилище на эмуляторе, используя DDMS (в Eclipse) или Android Device Monitor (запускается из Android Studio).