Вы путаете Внутренние и Внешние хранилища. Вы говорите о внутренней памяти, в то время как на самом деле вы используете external storage:
File path = Environment.getExternalStorageDirectory();
Полученный файл будет находиться здесь: /mnt/sdcard/DemoPicture.jpg
. Но если вы действительно хотите использовать внутреннее хранилище, взгляните на функцию Context.openFileOutput
.
EDIT:
Путь к файлу = Environment.getExternalStorageDirectory ();
Файл файл = новый файл (путь, "DemoPicture.jpg");
txtList.append (file.getPath ());
try {
path.mkdirs();
InputStream is = getResources().openRawResource(R.drawable.icon);
OutputStream os = new FileOutputStream(file);
byte[] data = new byte[is.available()];
is.read(data);
os.write(data);
is.close();
os.close();
} catch (IOException e) {
Toast.makeText(this, "Failed to write a file", Toast.LENGTH_LONG).show();
}