Проблема с классом FileInputStream

115
28 июня 2019, 00:30

Я хочу поместить в массив отобранные записи из файла, но программа когда программа начинает отбирать из следующей строки она стирает записи предыдущей, в итоге выводится последняя запись.

Вот код:

 public static void IO(){
        try (FileInputStream fin = new FileInputStream("C://test.txt")) {
            byte[] buffer = new byte[fin.available()];
            fin.read(buffer, 0, buffer.length);
            byte [] input = new byte[15];
            byte [] output = new byte[16];
            byte [] price = new byte[6];
            int n = 0;
            while ( n < buffer.length) {
                for (int i = n + 21; i < n + 36; i++) {
                    int y = (i - 21)-n;
                    input[y] = buffer[i];
                }
                for (int i = n + 37; i < n + 52; i++) {
                    int y = (i - 37) - n;
                    output[y] = buffer[i];
                }
                for (int i= n + 63; i < n + 69; i++){
                    int y = (i-63)-n;
                    price[y] = buffer[i];
                }
                n = n + 69;
                String newin  = new String(input);
                String newout = new String(output);
                String one = new String(price);
                char mas[] = one.toCharArray();
                int size = 0;
                for (int i= 0; i <mas.length;i++){
                    if ((mas[i] != ' ') && (mas[i] != '\r') && (mas[i] != '\n')){
                        size++;
                    }else break;
                }
                char mas2[] = new char[size];
                for (int i=0; i < mas2.length; i++){
                    mas2[i] = mas[i];
                }
                String ves = String.valueOf(mas2);
                int end = Integer.parseInt(ves);
                ArrayList<String> allin = new ArrayList<>();
                allin.add(newin);
                ArrayList<String> allout = new ArrayList<>();
                allout.add(newout);
                    UndirectedGraph.addEdge(newin,newout,end);
                    int num = buffer.length;
                    Graphio.vvod(newin,newout,end);
            }
        }
        catch (IOException ex) {
            System.out.println(ex.getMessage());
        }
    }

и данные из файла из которого осуществляется запись:

24.09.11 10:42:04 4 031.013.086.049 031.013.086.051 570 24.09.11 10:42:02 5 031.013.086.049 010.157.128.172 556 24.09.11 10:42:02 6 010.157.128.172 010.131.168.016 1024 24.09.11 10:42:04 3 031.013.086.051 031.013.086.008 12
24.09.11 10:42:06 2 010.157.128.172 199.016.156.009 345 24.09.11 10:42:02 5 031.013.086.051 010.131.168.016 1243

READ ALSO
многомерные массивы java

многомерные массивы java

Необходимо чтобы я мог в метод add передавать массивы различной размерности а не только одномерные массивы int и уже в методе у массива увеличивать...

130
Необычное расположение изображений CSS

Необычное расположение изображений CSS

Подскажите, пожалуйста, как сделать такую штуку?

162
Преобразовать в число обратно .toLocaleString()

Преобразовать в число обратно .toLocaleString()

После преобразования числа методомtoLocaleString('ru') строка воспринимается как текст

148
waitForNetwork без jQuery

waitForNetwork без jQuery

у меня есть метод который проверяет есть ли активные запросы (XHR)

115