android如何使用内部存储读取数据

时间:2014-06-09 17:41:49

标签: android save storage internal

public void loadprev()
{
       String tempread;
    try {
        FileInputStream fis = openFileInput("data.gds");

        try {
            fis.read(tempread.getBytes());
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        try {
            fis.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }

}

我的程序在尝试执行fis.read(tempread.getBytes());

时崩溃了

我想阅读data.gds中的第一行并将其放入字符串中,我该怎么做? 不,我不打算使用SharedPreferences

1 个答案:

答案 0 :(得分:0)

添加一个字符串缓冲区,然后从中读取每行将被放入Stringbuffer,然后您可以从该缓冲区中检索该行。

StringBuffer fileContent = new StringBuffer("");
byte[] buffer = new byte[1024];

while ((n = fis.read(buffer)) != -1) 
{ 
  fileContent.append(new String(buffer, 0, n)); 
}

此外,如果你没有正确捕捉异常,请将它们包围在1次尝试捕获中,但是将来尝试捕获它们:

{
    String tempread;
 try {
    FileInputStream fis = openFileInput("data.gds");
        fis.read(tempread.getBytes());
        fis.close();
   } catch (FileNotFoundException e) {
        e.printStackTrace();
   }
     catch (IOException e) {
        e.printStackTrace();
       }

}

现在您的代码更容易阅读。