简体   繁体   中英

Android app writing to file, can't find the results

I'm trying to have my app write to a file. I've been able to load from files, but the save method doesn't seem to work, because I'm not able to find any saved text/bytes.

The save method:

private void saveSettings() {
    Log.i("class_Aquarium", "-----class_Aquarium saveSettings");

    String line = "";
    try {
        String state = Environment.getExternalStorageState();
        if (Environment.MEDIA_MOUNTED.equals(state)) {
        Log.i("class_Aquarium", "-----class_Aquarium saveSettings read and Write permissions enabled!");
        } else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
        Log.i("class_Aquarium", "-----class_Aquarium loadSettingsFile Read-only permissions enabled");
        return;
        } else {
        Log.i("class_Aquarium", "-----class_Aquarium loadSettingsFile File reading refused!");
        return;
        }
        String fileName = "settings_aquarium";
        BufferedOutputStream bos = null;
        try {
        File f = new File(Environment.getExternalStorageDirectory(), fileName);
        FileOutputStream fos2 = null;
        fos2 = new FileOutputStream(f);
        bos = new BufferedOutputStream(fos2, 8192);
        bos.write("test".getBytes());
        fos2.flush();
        fos2.close();
        Log.i("class_Aquarium", "-----class_Aquarium saveSettings Done writing to file. ");
        } catch (Exception e) {
        e.printStackTrace();
        }

    } finally {

    }
    }

The read method:

private void loadSettingsFile2() {
try {
    File dir = Environment.getExternalStorageDirectory();

    File file = new File(dir, "settings_aquarium");

    if (file.exists()) // check if file exist
    {
    //Read text from file
    StringBuilder text = new StringBuilder();

    try {
        BufferedReader br = new BufferedReader(new FileReader(file));
        String line;

        while ((line = br.readLine()) != null) {
        Log.i("class_Aquarium", "-----class_Aquarium loadSettingsFile line=" + line);
        text.append(line);
        text.append('n');
        }
    } catch (IOException e) {
        //You'll need to add proper error handling here
    }
    //Set the text
    Log.i("class_Aquarium", "-----class_Aquarium loadSettingsFile text=" + text);
    } else {
    Log.i("class_Aquarium", "-----class_Aquarium loadSettingsFile Sorry file doesn't exist!");
    }
} catch (Exception e) {
    e.printStackTrace();
}
}

The output:

03-19 16:50:23.126: I/class_Aquarium(15812): -----class_Aquarium saveSettings
03-19 16:50:23.126: I/class_Aquarium(15812): -----class_Aquarium saveSettings read and Write permissions enabled!
03-19 16:50:23.126: I/class_Aquarium(15812): -----class_Aquarium saveSettings Done writing to file. 
03-19 16:50:23.126: I/class_Aquarium(15812): -----class_Aquarium loadSettingsFile text=

Can anyone tell me what's wrong?

Your savesettings

private void saveSettings() {
    Log.i("class_Aquarium", "-----class_Aquarium saveSettings");

    String line = "";
    try {
        String state = Environment.getExternalStorageState();
        if (Environment.MEDIA_MOUNTED.equals(state)) {
        Log.i("class_Aquarium", "-----class_Aquarium saveSettings read and Write permissions enabled!");
        } else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
        Log.i("class_Aquarium", "-----class_Aquarium loadSettingsFile Read-only permissions enabled");
        return;
        } else {
        Log.i("class_Aquarium", "-----class_Aquarium loadSettingsFile File reading refused!");
        return;
        }
        String fileName = "settings_aquarium";
        try {
        File f = new File(Environment.getExternalStorageDirectory(), fileName);
        FileOutputStream fos2 = null;
        fos2 = new FileOutputStream(f);

        OutputStreamWriter myOutWriter = new OutputStreamWriter(fos2);                

        String datatxt = "test";
        myOutWriter.append(datatxt);
        myOutWriter.close();

        fos2.close();
        Log.i("class_Aquarium", "-----class_Aquarium saveSettings Done writing to file. ");
        } catch (Exception e) {
        e.printStackTrace();
        }

    } finally {

    }
    }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM