Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/25: Рейтинг темы: голосов - 25, средняя оценка - 4.88
0 / 0 / 1
Регистрация: 29.10.2014
Сообщений: 90
1

Работа с бинарными файлами

31.03.2016, 09:53. Показов 4682. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, нужно реализовать метод который будет заносить рандомную матрицу(двумерный массив) в бинарный файл, заносит вектор(одномерный массив) в другой бинарный файл, а потом умножает матрицу на вектор. Не знаю как работать с бинарниками. Помогите чем можете плиз.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.03.2016, 09:53
Ответы с готовыми решениями:

Есть ли литература по работе с бинарными файлами?
Здравствуйте. Есть ли литература по работе с бинарными файлами на JAVA? За ранее спасибо!

Работа с бинарными файлами
Задача такова : нужно записать созданные объекты класса в бинарный фал а затем прочитать их же из...

Работа с бинарными файлами
Помогите пожалуйста, уже перерыла все книги и весь инет, и чего-либо понятного мне не нашла..((...

Работа с Бинарными файлами
Помогите сделать сохранение не могу разобраться :( Почему в этом коде #include <iostream>...

10
323 / 310 / 206
Регистрация: 14.09.2015
Сообщений: 827
31.03.2016, 13:42 2
mikykonst, можете ознакомиться: для старта вполне достаточно.
0
0 / 0 / 1
Регистрация: 29.10.2014
Сообщений: 90
31.03.2016, 14:29  [ТС] 3
Что не так с кодом, он выдает "-1"?

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class test
{
    public static void main (String[] args)
    {
        int a = 6;
        try
        {
        RandomAccessFile file = new RandomAccessFile(new File("E:/binary.dat"),"rw");
        file.writeInt(a);
        file.readInt();
        }
        catch(FileNotFoundException e)
        {
            catch(IOException e)
        }
    }
}
0
323 / 310 / 206
Регистрация: 14.09.2015
Сообщений: 827
31.03.2016, 15:00 4
mikykonst, следите за скобками, они у Вас хаотически натыканы... Сделайте так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class test
{
    public static void main(String[] args)
    {
        int a = 6;
        try
        {
            RandomAccessFile file = new RandomAccessFile(new File("D:/binary.dat"), "rw");
            file.writeInt(a);
            file.close();
        }
        catch (FileNotFoundException e)
        {
 
        }
        catch (IOException e)
        {
 
        }
    }
}
0
0 / 0 / 1
Регистрация: 29.10.2014
Сообщений: 90
31.03.2016, 18:40  [ТС] 5
А как потом через System.out.print вытащить числа из этого файла?
0
Эксперт Java
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
31.03.2016, 18:42 6
Цитата Сообщение от HOBATOP Посмотреть сообщение
catch (FileNotFoundException e)
* * * * {
}
* * * * catch (IOException e)
* * * * {
}
Никогда так не пишите. Всегда распечатывайте исключения
0
0 / 0 / 1
Регистрация: 29.10.2014
Сообщений: 90
31.03.2016, 18:56  [ТС] 7
Спасибо, вы знаете как из бинарника вытащить числа и присвоить их переменной?
0
34 / 34 / 21
Регистрация: 01.11.2013
Сообщений: 319
31.03.2016, 20:40 8
mikykonst, есть метод seek, которые перемещает 'указатель' по файлу, поэтому если вы записали одно число в файл, то оно запишется в нулевую позицию, поэтому, самым примитывным образом, чтобы прочитать его надо установить указатель на нулевую позицию и прочесть число.
Java
1
2
file.seek(0);
_a=file.readInt();
0
0 / 0 / 1
Регистрация: 29.10.2014
Сообщений: 90
31.03.2016, 20:48  [ТС] 9
Я уже сам понял но спасибо. Теперь я не понимаю как мне записать весь двумерный массив в файл, а потом его считать?

Добавлено через 42 секунды
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package Lab1;
 
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Random;
 
public class Out
{
 
    public Out()
    {
        // TODO Auto-generated constructor stub
    }
    public static void mat()
    {
        int[][] c = new int[100][100];
        try
        {
            RandomAccessFile file = new RandomAccessFile(new File("E:/binary.dat"), "rw");
            int[][] matrix = new int[100][100];
            Random rnd = new Random();
            for (int i = 0; i < 100; i++)
                for (int j = 0; j < 100; j++)
                {
                    file.writeInt(matrix[i][j] = rnd.nextInt(10) -0);
                    file.seek(0);
 
                    c[i][j] = file.readInt();
                    file.seek(i);
                    
                }   
            file.close();
        }
        catch(FileNotFoundException e) 
        {
 
        }
        catch(IOException e)
        {
 
        }
        for (int i = 0; i < 100; i++)
            for (int j = 0; j < 100; j++)
            {
                System.out.println(c[i][j]);
            }
    }
}
0
34 / 34 / 21
Регистрация: 01.11.2013
Сообщений: 319
31.03.2016, 21:32 10
Цитата Сообщение от mikykonst Посмотреть сообщение
file.seek(0);
c[i][j] = file.readInt();
mikykonst, так вы читаете постоянно с нулевой позиции
0
0 / 0 / 1
Регистрация: 29.10.2014
Сообщений: 90
31.03.2016, 21:40  [ТС] 11
Я вижу, как правильно это реализовать?
0
31.03.2016, 21:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.03.2016, 21:40
Помогаю со студенческими работами здесь

Работа с бинарными файлами
Всем доброго времени суток. Столкнулся с такими проблемами: 1. Немогу переобразовать...

Работа с бинарными файлами
Помогите решить проблему. Задача: создать файл записать в него 10 структур и закрыть, затем...

Работа с бинарными файлами
Всем привет! Есть задача: создать бинарный файл с результатами футбольных матчей и на одной из...

Работа с бинарными файлами
Создать бинарный файл с информацией о работниках предприятия: 1) фамилия 2) возраст 3)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru