写和读文件顺序自然android

时间:2014-12-26 15:16:54

标签: android file filewriter

developer data-storage-files

String filename = "myfile";
String string = "Hello world!";
FileOutputStream outputStream;

try {
  outputStream = openFileOutput(filename, Context.MODE_PRIVATE);
  outputStream.write(string.getBytes());
  outputStream.close();
} catch (Exception e) {
  e.printStackTrace();
}



private String readfile(){
        String content="";
        try{
            InputStream inputStream=openFileInput(myfile);

            if(inputStream!=null){
                InputStreamReader inputStreamReader=new InputStreamReader(inputStream);
                BufferedReader bufferedReader=new BufferedReader(inputStreamReader);
                String receiveString="";
                StringBuilder stringBuilder=new StringBuilder();

                while((receiveString=bufferedReader.readLine())!=null){
                    stringBuilder.append(receiveString);
                }
                inputStream.close() ;
                content=stringBuilder.toString();

            }
        }


        catch (FileNotFoundException e){
            Log.e(FILENAME1, "File Not Found"+e.toString());
        }catch (IOException e){
            Log.e(FILENAME1,"Cannot read file"+e.toString());
        }
        return content;

    }

我尝试根据这个网站写一个txt文件,说我想这样保存数据:从那天起我在日期后保存一个数字 第1行2014-12-23 3 第2行2014-12-24 6 第3行2014-12-25 10 。 。 。 。 但是每次我将数据写入此文件时,似乎文件都被覆盖,每次我读取文件时,都会返回最新的更新编号。我想保存日期并获取一个特定行的数据。有什么建议?非常感谢!!

1 个答案:

答案 0 :(得分:0)

尝试更改此

outputStream = openFileOutput(filename, Context.MODE_PRIVATE);

outputStream = openFileOutput(filename,  Context.MODE_APPEND);

此外,您可能需要检查文件是否存在。如果它不存在,请使用您的原始语句,如果它存在,则使用我提到的语句。