eawedat
eawedat

Reputation: 417

Writing to File Internal Storage Android

Given this code:

final String dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS) + "/";
    String file = dir + "info.txt";
    File newfile = new File(file);


        //Environment.getExternalStorageDirectory().toString()= /storage/emulated/0

String msgData="p1000";
        FileOutputStream outputStream;

        try {
            newfile.createNewFile();

            outputStream = openFileOutput(file, Context.MODE_PRIVATE);
            outputStream.write(msgData.getBytes());
            outputStream.close();
        } catch (Exception e) {
            e.toString();
            //e.printStackTrace();
        }

When I open file /storage/emulated/0/Documents/info.text, I find it empty while it should have the string "p1000";

why is that? note: I do not have external storage (external sd card).

thanks.

Upvotes: 1

Views: 782

Answers (2)

Want2bExpert
Want2bExpert

Reputation: 527

Do you have WRITE_EXTERNAL_STORAGE Permission in your Manifest?

Try this: FileOutputStream outputStream = new FileOutputStream(file);

Upvotes: 2

Gil Vegliach
Gil Vegliach

Reputation: 3562

If you wanna use internal storage you should not pass a path pointing at the external storage (roughly sd card). In you try-catch block use this line instead:

outputStream = openFileOutput("info.txt", Context.MODE_PRIVATE);

The file will be saved in the directory returned by Context.getFilesDir().

Upvotes: 0

Related Questions