Опитвам се да обединя n части от файл в един файл. Но имам странно поведение на моята функция. Функцията се извиква x пъти за n секунди. Да кажем, че имам 100 файла, които ще обединя, всяка секунда извиквам 5 файла и ги обединявам. и в следващата секунда сумата се удвоява до 10, но от 1-5 е същият файл като преди, останалото е нов файл. Работи нормално, но в даден момент дава нулев байт или понякога дава правилния размер.
Бихте ли ми помогнали да открия грешката в моята функция по-долу?
public void mergeFile(list<String> fileList, int x) {
int count = 0;
BufferedOutputStream out = null;
try {
out = new BufferedOutputStream(new FileOutputStream("Test.doc"));
for (String file : fileList) {
InputStream in = new BufferedInputStream(new FileInputStream(file));
byte[] buff = new byte[1024];
in.read(buff);
out.write(buff);
in.close();
count++;
if (count == x) {
break;
}
}
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
*съжалявам за моя английски
mergeFile
се извиква ли от нишка? - person kv-prajapati   schedule 13.07.2012