Написание какого-либо текста в файл на устройстве android, похоже, является серьезным делом. Начиная с ответа, приведенного здесь. Я внедрил следующий код в мой единственный актив "Hello-World":
try {
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(this.openFileOutput("config.txt", Context.MODE_PRIVATE));
outputStreamWriter.write("lalala");
outputStreamWriter.close();
} catch (IOException e) {
Log.e("Exception", "File write failed: " + e.toString());
}
который не генерирует исключение, но, похоже, работает. Но есть ли способ увидеть файл, созданный с помощью File Manager
на android? Кажется, что фрагмент кода пишет в "секретное" место в файловой системе Android, связанную с самим приложением (управляется с помощью this.openFileOutput
).
Консультирование различных google-ссылок (this и это и это). Я придумал следующий код:
File file = new File(this.getExternalFilesDir("temp"), "testfile.txt");
FileOutputStream fileOutput = openFileOutput(file.getName(), Context.MODE_WORLD_WRITEABLE);
fileOutput.write("lalala");
fileOutput.close();
который вызывает ошибку
Error:(55, 19) error: no suitable method found for write(String) method FileOutputStream.write(int) is not applicable (actual argument String cannot be converted to int by method invocation conversion) method FileOutputStream.write(byte[],int,int) is not applicable (actual and formal argument lists differ in length) method OutputStream.write(int) is not applicable (actual argument String cannot be converted to int by method invocation conversion) method OutputStream.write(byte[],int,int) is not applicable (actual and formal argument lists differ in length) method OutputStream.write(byte[]) is not applicable (actual argument String cannot be converted to byte[] by method invocation conversion)
Итак, как это сделать правильно?
В качестве примечания: это только для отладочных/образовательных целей и не предназначено для участия в финальном приложении!
Чтобы быть ясным: я хочу создать файл внутри каталога temp
, который я могу видеть с помощью FileManager (каталог temp
находится на том же уровне, что и My Documents
, Music
, DCIM
, Download
и тому подобное...)