2016-05-23 2 views
0

поэтому я пытаюсь записать данные, которые я получаю из сокета в текстовый файл, а затем читать эти данные.Android Studio читает/записывает из .txt-файла, сохраняет путь?

У меня есть эти 2 метода в моем MainActivity (только тесты, чтобы посмотреть, как читать и писать из/в файл работы):

public void WriteBtn() { 


    // add-write text into file 
    try { 
     FileOutputStream fileout=openFileOutput("mytextfile.txt", MODE_PRIVATE); 
     OutputStreamWriter outputWriter=new OutputStreamWriter(fileout); 
     outputWriter.write("Test"); 
     outputWriter.close(); 

     //display file saved message 
     Toast.makeText(getBaseContext(), "File saved successfully!", 
       Toast.LENGTH_SHORT).show(); 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 
public void ReadBtn() { 
    //reading text from file 
    try { 
     FileInputStream fileIn=openFileInput("mytextfile.txt"); 
     InputStreamReader InputRead= new InputStreamReader(fileIn); 

     char[] inputBuffer= new char[256]; 
     String s=""; 
     int charRead; 

     while ((charRead=InputRead.read(inputBuffer))>0) { 
      // char to string conversion 
      String readstring=String.copyValueOf(inputBuffer,0,charRead); 
      s +=readstring; 
     } 
     InputRead.close(); 
     Toast.makeText(getBaseContext(), s,Toast.LENGTH_SHORT).show(); 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

Я называю их с кнопками, но мне было интересно, где это сохранить my "mytextfile.txt" ???

+0

Я уверен, что он зависит от контекста, сохраняя его в текущем каталоге заданных файлов. http://stackoverflow.com/questions/4926027/what-file-system-path-is-used-by-androids-context-openfileoutput – zgc7009

ответ

1

Посмотрите на Context.getExternalFilesDir() и передайте его Environment.DIRECTORY_DOCUMENTS. Это должно дать вам путь вывода по умолчанию для текстовых файлов. https://developer.android.com/reference/android/content/Context.html#getExternalFilesDir(java.lang.String)

EDIT Я просто проверял это. Похоже, что Context.openFileOutput() сбрасывает все, независимо от типа файла, в Conext.getFilesDir() https://developer.android.com/reference/android/content/Context.html#getFilesDir()

+0

Мне удалось получить путь, используя getFilesDir()/data/user/0/sevrain .test/files есть в любом случае доступ к нему в проводнике? – Sech

+0

@Sech. Каталог файлов приложений является внутренним для приложения и является частным, поэтому поисковики не смогут просматривать _unless_, в котором используется корень (или вы используете эмулятор). Вы можете встроить свой собственный браузер файлов в свое приложение (попробуйте getFilesDir(). ListFiles(), чтобы захватить список внутренних файлов). В качестве альтернативы, если вы не пытаетесь защитить файл, вы можете просто записать в общую память - не используйте getFilesDir(), а просто используйте путь к общедоступному хранилищу, например новый FileOutputStream ("/ sdcard/mytestfile.txt"); – tpankake

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