#android #filereader #filewriter
#Android #программа чтения файлов #filewriter
Вопрос:
я использую приведенный ниже код для записи файла на SD-карту и чтения его содержимого:
try {
if (root.canWrite())
{
File rootdir = Environment.getExternalStorageDirectory();
File yourFile = new File(rootdir, "tomato50.txt");
FileWriter filewriter = new FileWriter(file,true);
BufferedWriter out = new BufferedWriter(filewriter);
for (int k=0; k<assignArr.size(); k )
{
out.write(assignArr.get(k) "n");
Toast.makeText(MainActivity.this, "out: " assignArr.get(k), Toast.LENGTH_LONG).show();
}
out.close();
}
} catch (IOException e) {
Log.e("TAG", "Could not write file " e.getMessage());
try {
File rootdir = Environment.getExternalStorageDirectory();
File yourFile = new File(rootdir, "tomato50.txt");
FileReader filereader = new FileReader(yourFile);
BufferedReader br = new BufferedReader(filereader);
String line;
while((line = br.readLine()) != null)
{
assignArrBe.add(line);
Toast.makeText(MainActivity.this, "Read from file: " line, Toast.LENGTH_LONG).show();
}
br.close();
}
catch (IOException e)
{
e.printStackTrace();
}
Вопрос в том, как я могу записывать в память телефона и читать из нее?
Ответ №1:
Вам потребуется рутировать свой телефон, чтобы получить доступ на запись к любой папке телефона.
Если то, что вы хотите, это записать во внутреннее хранилище для конкретного приложения, то вы можете следовать этому руководству: http://developer.android.com/guide/topics/data/data-storage.html#filesInternal
Комментарии:
1. Частично верно: этот код предназначен для ExternalStorage. Вы можете использовать внешнее хранилище в каждом телефоне.
2. @Redax тогда, пожалуйста, объясните лучше, что вы имеете в виду под «как я могу записать в память телефона», потому что я понял, что вы просили записать в файловую систему телефона.
3. Я имею в виду некоторые, я хочу добавить возможность сохранять некоторые данные, когда в телефоне нет SD-карты.
4. @erdomester тогда у вас есть два варианта, описанных выше. ИМХО, вам нужен второй (внутреннее хранилище данных). Вы перешли по этой ссылке?
Ответ №2:
Прежде всего, вы должны поместить в свой файл манифеста эту строку:
...
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
...
</manifest>
Если этого недостаточно, можете ли вы объяснить проблему более подробно?