что происходит на каждой итерации цикла? происходит чтение в массив и запись в файл из массива за один проход, а на втором условие становится false? или же происходит запись и чтение по 1 байту?
FileInputStream inputStream = new FileInputStream("c:/data.txt");
// Создаем поток-записи-байт-в-файл
FileOutputStream outputStream = new FileOutputStream("c:/result.txt");
byte[] buffer = new byte[inputStream.available()];
while (inputStream.available() > 0) {
int count = inputStream.read(buffer);
outputStream.write(buffer, 0, count);
}