2011-05-17 103 views
14

我正在爲單元編寫一個基本的記事本應用程序。我用editText創建了主類,並將其另存爲字符串textOutput。Android:從文件讀取(Openfileinput)

我已經使用來自Android開發者網站下面的代碼保存字符串到一個文件:

  FileOutputStream fos = openFileOutput(textOutput, Context.MODE_PRIVATE); 
      fos.write(textOutput.getBytes()); 
      fos.close(); 

然而,他們說看你用以下階段:

閱讀從內部存儲上的文件:

呼叫openFileInput(),並通過它的名字的文件中讀取。這會返回一個FileInputStream。 使用read()從文件中讀取字節。 然後用close()關閉流。

這到底意味着什麼,以及我將其實施到我的應用程序中的人?

請幫忙。

回答

3

第一個參數是您正在使用openFileOutput方法時創建/更新文件的名稱。使用已將其上面列出的相同的參數可能看起來像:

FileInputStream fis = openFileInput(textOutput); 

至於從極其出色,在這裏和在網絡上記錄的一個FileInputStream閱讀。最好的辦法還取決於你正在閱讀的文件類型(例如XML)。所以我會讓你去搜索。

編輯:這是documentation

+0

也意識到,你可能不希望把你的文件的哈希碼(什麼的toString()將在默認情況下返回Java中的Object),您可能需要使用String而不是textOutput作爲參數。 – nibuen 2011-05-28 01:31:59

+0

+ 1以獲取實際文檔。現在我知道這個'openFileInput'實際上是人們正在討論的內容。 – Doomsknight 2012-09-07 09:50:58

34

如何使用openFileInput一個例子:

FileInputStream in = openFileInput("filename.txt"); 
    InputStreamReader inputStreamReader = new InputStreamReader(in); 
    BufferedReader bufferedReader = new BufferedReader(inputStreamReader); 
    StringBuilder sb = new StringBuilder(); 
    String line; 
    while ((line = bufferedReader.readLine()) != null) { 
     sb.append(line); 
    } 
+4

最後不要忘記inputStreamReader.close()。 – marmor 2014-03-03 13:19:32