2011-05-17 68 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