#android
#Android
Вопрос:
У меня есть вопрос, что я хочу прочитать байты из видео, хранящегося на sdcard, размером 1024 фрагмента, это означает, что я должен прочитать 1024 байта из файла за раз. Я могу получить количество байтов из видео, но я не могу получить его по частям, я не знаю, как этого добиться. Пожалуйста, предложите мне правильное решение относительно того же.
Заранее спасибо.
Комментарии:
1. Это то же самое, что чтение из любого другого файла — найдите любое руководство по вводу файлов Java.
Ответ №1:
import java.io.*;
public class FileUtil {
private final int BUFFER_SIZE = 1024;
public void readFile(String fileName) {
BufferedInputStream in = null;
try {
in = new BufferedInputStream(new FileInputStream(fileName));
} catch (FileNotFoundException e) {
e.printStackTrace();
return;
}
byte[] buffer = new byte[BUFFER_SIZE];
try {
int n = 0;
while ((n = in.read(buffer, 0, BUFFER_SIZE)) > 0) {
/* do whatever you want with buffer here */
}
}
catch(Exception e) {
e.printStackTrace();
}
finally { // always close input stream
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
На основе кода из http://www.xinotes.org/notes/note/648
Комментарии:
1. Код в порядке, но я не могу понять, почему что-то подобное должно принадлежать статическому служебному методу.