内部電話メモリにファイルを作成する次のコードがあります。
 File fileDir = getFilesDir();
    String filedir=fileDir.toString();
    String strNewFileName =  "information.csv";
    String strFileContents = (mes + "," + lat + "," + lng);
    File newFile = new File(fileDir, strNewFileName);
    try{
            boolean filestat = newFile.createNewFile();
            FileOutputStream fo =
            new FileOutputStream(newFile.getAbsolutePath());
            fo.write(strFileContents.getBytes());
            fo.close();
    }
    catch(IOException e) 
    {Log.v("TEST","Exception on create ");}
   System.out.print(OpenFileDialog("information.csv"));
}
そして、ファイルを読み取って印刷するための次のコードがあります。
public ArrayList<String> OpenFileDialog(String file){
    //Read file in Internal Storage
    FileInputStream fis;
    ArrayList<String> list = new ArrayList<String>();
    try {
    fis = openFileInput(file);
     String line = "string";
     BufferedReader buffreader = new BufferedReader(new InputStreamReader(fis));
    while (( line = buffreader.readLine()) != null) {
      list.add(line);
      System.out.println(list);
 }
         fis.close();
    } catch (FileNotFoundException e) {
     e.printStackTrace();
    } catch (IOException e) {
     e.printStackTrace(); 
    }
    return list;
  }
ただし、コードは、このアプリケーションの実行中に追加された 1 つの文字列を返すだけです。アプリケーションを複数回実行して、ファイルのすべての行を取得したいと考えています。コードが間違っていますか、それともアプリケーションを閉じた後にファイルが空になりますか?