Как получить путь к файлу из внутреннего хранилища в android
В нашем приложении мы сохраняем файлы PDF во внутреннем хранилище. Теперь я хочу получить его путь к файлу и его нужно сохранить в БД. Скажите, как получить путь к файлу.
ниже кода:
public void storeIntoInternalMem(byte[] databytes, String name) {
try
{
FileOutputStream fileOuputStream = openFileOutput(name, MODE_PRIVATE);
fileOuputStream.write(databytes);
fileOuputStream.close();
} catch (IOException e)
{
e.printStackTrace();
}
}
Ответы
Ответ 1
вы можете использовать метод Context.getFilesDir()
, чтобы получить путь к внутреннему хранилищу
Edit
при использовании этой строки FileOutputStream fileOuputStream = openFileOutput(name, MODE_PRIVATE);
внутренний путь хранения получается по умолчанию методом openFileOutput()
. В этом месте создается новый файл с указанным именем. Теперь, когда вы хотите получить путь к тому же файлу, вы можете использовать getFilesDir()
, чтобы получить абсолютный путь к каталогу, в котором был создан файл. Вы можете сделать что-то вроде этого: -
File file = new File(getFilesDir() + "/" + name);
Ответ 2
String dir = getFilesDir().getAbsolutePath();
Ответ 3
getFileStreamPath(String name) of Context.
Возвращает абсолютный путь в файловой системе, где файл, созданный с помощью
openFileOutput(String, int)
сохраняется.