Запрос информации о файле Android - PullRequest
2 голосов
/ 19 апреля 2011

Для содержимого: URI, я использовал ContentProvider / Contentresolver для получения информации об измененной дате, размере и данных. Я хотел бы сделать то же самое для file: URI, но когда я попробую следующий код:

CursorLoader loader = new CursorLoader(this, uri, proj, null, null, null);
Cursor cursor = loader.loadInBackground();

Курсор возвращается как ноль. Как узнать размер файла, данные и дату добавления / изменения?

1 Ответ

1 голос
/ 19 апреля 2011

Возможно, я неправильно понял ваш вопрос, но вы используете обычный файл ввода-вывода java, чтобы найти эту информацию.

Вот пример того, как я узнал эту информацию для изображения с именем cat.jpg:

File f = new File("/data/cat.jpg");

//Size of file in bytes
Long size = f.length();

//Time of when the file was last modified in microseconds
Long lastModified = f.lastModified();

//The bytes of the file. This gets populated below
byte[] fileData = new byte[(int)f.length()];

try {
    FileInputStream fis = new FileInputStream(f);

    int offset = 0;
    int bytesActuallyRead;

    while( (bytesActuallyRead = fis.read(fileData, offset, 1024)) > 0) {
        offset += bytesActuallyRead;
    }

} catch(Exception e) {

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...