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

Загрузка из файла

25.12.2013, 14:07. Показов 1741. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мужики работает только сохранение, всё отлично сохраняет информацию о всех автомобилях, но при последующей загрузке, грузит информацию только о первом.

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
//Сохранение в файл
    public void saveToFile(String fileName)
        {
        try
        {
            PrintWriter file=new PrintWriter(new File("D:\\"+fileName+".txt"));
            for (Autos car: listOfCar)
            {
                file.println(car.toString());
                                        
        }
            file.close();
            System.out.println("Файл записан");
        }
        catch(Exception e)
        {
            System.out.println("Error at Save");
        }
    }
        
    //Загрузка в файл
    public void readFromFile(String fileName)
        {
        try
        {
            BufferedReader file= new BufferedReader(new FileReader("D:\\"+fileName));
            String temp=file.readLine();
            file.close();
            if(temp.startsWith(":"))
            {
                temp=temp.substring(1, temp.length());
                listOfCar.clear();
                String tempar[]=temp.split(":");
                for(int i=0;i<tempar.length;i++)//temparr.length;i++)
                {
                    listOfCar.add(new Autos(tempar[i]));
                }
                System.out.println("Файл с абонентами загружен");
            }
        }
        catch(Exception e)
        {
            System.out.println("Файл с таким именем не существует!");
        }
    }


Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public Autos(String AutosString)
    {
        String temparr[]=AutosString.split("/");
        this.marka = temparr[0];
        this.kuzov = temparr[1];
        this.vipusk = Integer.parseInt(temparr[2]);
        this.vin = temparr[3];
        this.cvet = temparr[4];
        this.kpp = temparr[5];
        this.komplekt = temparr[6];
        this.cena = Integer.parseInt(temparr[7]);
        this.zakaz = Integer.parseInt(temparr[8]);
        this.own = Boolean.parseBoolean(temparr[9]);
        this.FIOpok = temparr[10];
        this.FIOprod = temparr[11];
        this.date = temparr[12];
        this.tel =temparr[13];
 
    }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.12.2013, 14:07
Ответы с готовыми решениями:

Хранение и загрузка с файла
Можете помочь , как сделать пример тестирования на java на подобии этого ? http://rghost.ru/58905636

FTP загрузка файла
В общем не сталкивался я раньше с протоколом ftp:// в java, и вот пришлось. Пытаюсь получить список файлов, юзаю апачевский commons-net: ...

Загрузка из файла (корявый код?)
Копать то моя лопата копает, только лопата наверное плохая (других я пока не видел). Может какие замечания будут или советы. Заранее...

6
 Аватар для Lancaster
63 / 63 / 12
Регистрация: 29.08.2012
Сообщений: 152
25.12.2013, 15:35
Цитата Сообщение от fors117 Посмотреть сообщение
грузит информацию только о первом.
Потому что вы читаете только одну строку
Java
1
2
String temp=file.readLine();
file.close();
А должны читать каждую строку в файле
Java
1
2
3
4
5
String temp;
while((temp = file.readLine()) != null){
      // делаете операции над строкой
}
file.close();
Правда, если в файле присутствует кириллица, то возможно она будет прочитана не правильно. Лучше, вместо FileReader использовать такую связку
Java
1
2
InputStreamReader in = new InputStreamReader(new FileInputStream(fileName), "needed_encoding");
BufferedReader reader = new BufferedReader(in);
1
0 / 0 / 1
Регистрация: 21.11.2011
Сообщений: 92
25.12.2013, 15:47  [ТС]
Так?
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
    
    //Загрузка в файл
    public void readFromFile(String fileName)
        {
        try
        {
            BufferedReader file= new BufferedReader(new FileReader("C:\\"+fileName));
            String temp;
            while((temp = file.readLine()) != null){
        
            if(temp.startsWith(":"))
            {
                temp=temp.substring(1, temp.length());
                listOfCar.clear();
                String tempar[]=temp.split(":");
                for(int i=0;i<tempar.length;i++)//temparr.length;i++)
                {
                    listOfCar.add(new Autos(tempar[i]));
                }
                System.out.println("Файл с абонентами загружен");
                file.close();   }
        
             }
        }
        catch(Exception e)
        {
            System.out.println("Файл с таким именем не существует!");
        }
        
    }
Добавлено через 4 минуты
Цитата Сообщение от Lancaster Посмотреть сообщение
Потому что вы читаете только одну строку
Java
1
2
String temp=file.readLine();
file.close();
А должны читать каждую строку в файле
Java
1
2
3
4
5
String temp;
while((temp = file.readLine()) != null){
      // делаете операции над строкой
}
file.close();
Правда, если в файле присутствует кириллица, то возможно она будет прочитана не правильно. Лучше, вместо FileReader использовать такую связку
Java
1
2
InputStreamReader in = new InputStreamReader(new FileInputStream(fileName), "needed_encoding");
BufferedReader reader = new BufferedReader(in);
Придётся расстроить всё так же загружает одну строку 1-ую
0
 Аватар для Lancaster
63 / 63 / 12
Регистрация: 29.08.2012
Сообщений: 152
25.12.2013, 15:48
Закрывайте поток только тогда, когда уже все строки прочитаны - после цикла while, а не в нем.
Java
1
2
3
4
5
String temp;
while((temp = file.readLine()) != null){
      // делаете операции над строкой
}
file.close();
1
0 / 0 / 1
Регистрация: 21.11.2011
Сообщений: 92
25.12.2013, 15:52  [ТС]
Цитата Сообщение от Lancaster Посмотреть сообщение
Закрывайте поток только тогда, когда уже все строки прочитаны - после цикла while, а не в нем.
Java
1
2
3
4
5
String temp;
while((temp = file.readLine()) != null){
      // делаете операции над строкой
}
file.close();
Извините я вас не понял можете показать на моём примере?
0
 Аватар для Lancaster
63 / 63 / 12
Регистрация: 29.08.2012
Сообщений: 152
25.12.2013, 15:52
И у вас ошибка с реализацией добавления. Вы чистите лист с машинами каждый раз, когда читаете новую строку listOfCar.clear();. Если вам нужно почистить лист, то сделайте это в самом начале метода.
1
0 / 0 / 1
Регистрация: 21.11.2011
Сообщений: 92
25.12.2013, 15:55  [ТС]
Цитата Сообщение от fors117 Посмотреть сообщение
Извините я вас не понял можете показать на моём примере?
Всё я вас понял, спасибо вам огромное!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.12.2013, 15:55
Помогаю со студенческими работами здесь

Загрузка файла с последующей перекачкой данных
Ребята, помогите пожалуйста, моей женской логики не хватает, чтобы разобраться в следующем вопросе.В папке D:Information есть текстовый...

Загрузка элементов из файла в массив при нажатии кнопки
Здравствуйте,нужна ваша помощь. Мне нужно нажать кнопку &quot;загрузить&quot; ,выбрать файл и загрузить double переменные из файла в public массив...

Загрузка файла в ТекстБокс и открытие файла, зная его полный путь!
Всем привет! Имеется определенная проблема: ввожу в textbox полный путь к файлу, после сохраняю его с помощью кода: Dim FN as...

Загрузка файла через curl, а вместо файла страница с кроказабярами
Скачиваю файл через curl, а вместо него вылазает страница с крокозябрами HTTP/1.1 100 Continue HTTP/1.1 200 OK Server: nginx Date: Sat, 16...

Загрузка содержимого doc файла в RichTextBox по пути файла
Как вывести данный в RichTextBox с doc документа по его пути при нажатие кнопки?


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru