2016-05-23 821 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(); 
    } 
} 

我打電話給他們的按鈕,但我想知道,在那裏它保存我的「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)

編輯 我只是測試這一點。它看起來像Context.openFileOutput()轉儲一切,無論文件類型,以Conext.getFilesDir() https://developer.android.com/reference/android/content/Context.html#getFilesDir()

+0

我設法檢索路徑使用getFilesDir()/數據/用戶/ 0/sevrain .test/files 有沒有在瀏覽器中訪問它? – Sech

+0

@Sech,應用程序的文件目錄是應用程序內部的,並且是私有的,因此文件瀏覽器將無法瀏覽_unless_手機已根植(或者您正在使用模擬器)。你可以在你的應用中嵌入你自己的文件瀏覽器(嘗試getFilesDir()。listFiles()來獲取內部文件列表)。另外,如果你不想保護文件,你可以寫出共享內存 - 不要使用getFilesDir(),而只是使用公共存儲路徑,比如新的FileOutputStream(「/ sdcard/mytestfile.txt」 ); – tpankake