Sto cercando di ottenere il contenuto del file in byte nell'applicazione Android. Ho ottenuto il file nella scheda SD ora voglio ottenere il file selezionato in byte. Ho cercato su Google ma nessun tale successo. Please helpAndroid: come leggere il file in byte?
Di seguito è riportato il codice per ottenere file con estensione. Attraverso questo ottengo file e mostra in spinner. Sulla selezione del file voglio ottenere il file in byte.
private List<String> getListOfFiles(String path) {
File files = new File(path);
FileFilter filter = new FileFilter() {
private final List<String> exts = Arrays.asList("jpeg", "jpg", "png", "bmp", "gif","mp3");
public boolean accept(File pathname) {
String ext;
String path = pathname.getPath();
ext = path.substring(path.lastIndexOf(".") + 1);
return exts.contains(ext);
}
};
final File [] filesFound = files.listFiles(filter);
List<String> list = new ArrayList<String>();
if (filesFound != null && filesFound.length > 0) {
for (File file : filesFound) {
list.add(file.getName());
}
}
return list;
}
Si noti che 'buf.read()' non può leggere il numero di byte richiesti. Vedere javadoc qui: http://docs.oracle.com/javase/6/docs/api/java/io/BufferedInputStream.html#read (byte [], int, int) – vaughandroid
Non dimenticare in manifest. –
CoolMind
Se si intende leggere l'intero file con un solo colpo, non è necessario avvolgere FileInputStream in un BufferedInputStream -indeed, in tal modo si utilizzerà più memoria e si rallenteranno i dati che verranno copiati inutilmente. – Clyde