Мне дали задание, и я столкнулся с некоторыми проблемами. Об упражнении: мне нужно создать класс с методом, который создает файл определенного размера (1733 байта). Данные должны быть добавлены в этот файл случайным образом, но есть статический байтовый массив (aWeaved) с определенными допустимыми значениями байтов.
Насколько я понимаю, я должен создать байтовый массив сразмер 1733, и в каждой позиции я должен добавить значение от -128 до 127, что разрешено вышеупомянутым массивом. Поэтому я создал приведенный ниже код, но размер файла составляет 1033. Что я делаю не так;
public class Jervina {
public static byte[] aWeaved = {97, 98, 99, 100, 101, 102, 103, 104,
105, 49, 45, 50, 51, 52};
public static long mAlbumen(String a) {
ObjectOutputStream output = null;
try {
output = new ObjectOutputStream(Files.newOutputStream(Paths.get(a)
));
} catch (IOException e) {
System.exit(1);
}
Random r = new Random();
byte[] bts = new byte[1733];
int count = 0;
while (count != bts.length - 1) {
bts[count] = (byte) (r.nextInt(256) - 128);
for (int i = 0; i < 14; i++) {
if (aWeaved[i] == bts[count]) {
count++;
try {
output.writeByte(bts[count]);
} catch (IOException e) {
System.exit(1);
}
}
break;
}
}