Friday, 23 October 2015

Help on appending to a file



Hi guys. I am trying to save sensor data to a file and figured out how to do it. Only thing is how do I keep updating the file and append new data without over writing?

I created two functions, one for saving and one for appending:

Code:


    public void saveToFile(String accelLine, String gyroLine) throws IOException {

        File root = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
        File Dir = new File(root.getAbsolutePath());
        if(!Dir.exists()) {
            Dir.mkdir();
        }

        senLine = accelLine + gyroLine;

        File file = new File(Dir, "senData.txt");

        FileOutputStream fos = new FileOutputStream(file);
        fos.write(senLine.getBytes());
        fos.write('\n');
        fos.close();
        Toast.makeText(getApplicationContext(), "Initial Data Saved!", Toast.LENGTH_LONG).show();
        newFile = 0;
        senLine = "";
    }



Code:


    public void appendToFile(String accelLine, String gyroLine) throws IOException {
        senLine = accelLine + gyroLine;
        FileOutputStream fos = openFileOutput("senData.txt", Context.MODE_APPEND);
        OutputStreamWriter osw = new OutputStreamWriter(fos);
        osw.write(senLine);
        osw.write('\n');
        osw.flush();
        osw.close();
        Toast.makeText(getApplicationContext(), "More Data Saved!", Toast.LENGTH_LONG).show();
        newFile = 0;
        senLine = "";
    }


Maybe my implementation is wrong? Could someone tell me what did I do wrong? Its my first time with Android and Java. Sorry!



No comments:

Post a Comment