Supposons qu'une application obtienne un flux de contenu en étant appelée avec le filtre android.intent.action.SEND. Supposons également Uri et le flux est reçu comme ceci:Déterminer la longueur du contenu d'un Intent.STREAM_EXTRA (Android)
Uri contentUri = (Uri) extras.get(Intent.EXTRA_STREAM);
InputStream in = getContentResolver().openInputStream(contentUri);
Maintenant, comment puis-je déterminer la longueur totale du contenu sans lire le flux entier? Est-ce même possible? in.available() n'est pas nécessairement précis, donc je suppose que je dois lire le flux jusqu'à la fin, d'abord?
Le contenu peut être très volumineux, comme environ 50 Mo ou plus. Donc, je préférerais seulement le lire une fois.