Я пытаюсь получить доступ к файлу, который я заполняю благодаря моему приложению. Я храню его в памяти своего телефона, но не во внутренней памяти моего приложения.
Моя проблема в том, что файл не существует, когда я открываю его на своем ПК (с телефоном, подключенным через USB). Но он доступен и не пуст, когда я открываю его прямо со своего смартфона.
Мне нужно, чтобы этот файл был доступен на моем компьютере.
В моем манифесте:
READ_EXTERNAL_STORAGE
WRITE_EXTERNAL_STORAGE
Я пробовал так:
FileWriter outFile = new FileWriter(Environment.getExternalStoragePublicDirectory("my_app/data/file.txt");
PrintWriter out = new PrintWriter(outFile);
out.append("text");
out.flush();
out.close();
А еще вот так:
File file = Environment.getExternalStoragePublicDirectory("my_app/data/file.txt");
FileOutputStream outputStream = context.openFileOutput(file, Context.MODE_WORLD_READABLE);
PrintStream printStream = new PrintStream(outputStream);
printStream.println(text);
printStream.close();
По-другому..
File file = Environment.getExternalStoragePublicDirectory("my_app/data/file.txt");
FileWriter outFile = new FileWriter(file);
BufferedWriter buf = new BufferedWriter(outFile);
buf.write("hey");
buf.close();
outFile.close();
Некоторые из этих решений работают, но только на моем телефоне, поэтому их нельзя прочитать во всем мире, другие просто не работают...
В чем разница между OutPutStreamWriter
, FileWriter
, BufferedWriter
, FileOutputStream
, PrintWriter
, ...? Какой из них я должен выбрать?
Как мне создать общедоступный файл, чтобы получить к нему доступ непосредственно с моего компьютера?
Спасибо за помощь!