Androidアプリケーションでファイルコンテンツをバイト単位で取得しようとしています。選択したファイルをバイト単位で取得したいと思っています。私はグーグルではなく、そのような成功はありません。助けてくださいAndroid:ファイルをバイト単位で読み取るには?
以下は、拡張子を持つファイルを取得するためのコードです。これを介して私はファイルを取得し、スピナーに表示します。ファイルを選択する際、ファイルをバイト単位で取得したい。
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;
}
注意を行います。以下のjavadocを参照してください。http://docs.oracle.com/javase/6/docs/api/java/io/BufferedInputStream.html#read(byte []、int、int) – vaughandroid
FileInputStreamを1回のヒットで読み込む場合は、FileInputStreamをBufferedInputStreamにラップする必要はありません。これにより、データが不必要にコピーされるため、メモリが増え、処理が遅くなります。 – Clyde