我想在Android应用程序中获取以字节为单位的文件内容。我已经获得SD卡中的文件,现在想要以字节为单位获取所选文件。我Google搜索,但没有这样的成功。请帮助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;
}
注意'buf.read()'可能无法读取您请求的字节数。在这里看到javadoc:http://docs.oracle.com/javase/6/docs/api/java/io/BufferedInputStream.html#read(byte [],int,int) – vaughandroid 2013-09-05 09:33:05
不要忘记 。 –
CoolMind
2016-04-27 16:28:45
如果您打算一次读取整个文件,则无需将FileInputStream包装到BufferedInputStream中,否则将会使用更多内存并减慢速度,因为数据将被不必要地复制。 – Clyde 2017-03-14 01:54:20