Мне нужно сделать файл определенного размера, что я делаю не так? - PullRequest
0 голосов
/ 04 ноября 2019

Мне дали задание, и я столкнулся с некоторыми проблемами. Об упражнении: мне нужно создать класс с методом, который создает файл определенного размера (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;
            }
        }
...