Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Java > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 16.08.2009, 10:34   #1
Armaghedo
Пользователь
 
Аватар для Armaghedo
 
Регистрация: 16.08.2009
Сообщений: 13
Вопрос Java + txt или + база данных где найти инфу?

Добрый день всем форумчанам!
Решился начать изучать программирование с языком Ява на практике.
Установил Среду IDE "NetBeans 6.7.1" и "Java SE Development Kit 6u14 and NetBeans IDE 6.7 Bundle Downloads" (Если нужно чтото еще установить буду рад вашим советам - я пока мало знаю об архитектуре и прочем...)

Хочу создать первую программу которая умела-бы:
1) Считывать данные введенные в поля на графическом интерфейсе по нажатию кнопки.
2) Сохранять их в текстовик или какую-то простую базу данных (не требующую установку дополнительных компонентов) - нужен ваш совет.
3) По определенным требованиям генерировать в другой текстовик информацию, используя сохраненные данные в первый файл + разные модификации.

Создал графический интерфейс с метками, текстовыми полями и парочку кнопок.
Нужна ваша помощь в нахождение информации для изучения по этой теме для окончания программы:
1) работа - ввод - вывод инфы в файл (или базу).
2) Обработка запросов из базы и создание текстовика с конечной информацией.

3) Советы - с чего начать лучше обучение (книги, видео, аудио) в порядке возрастания опыта...

Всем откликнувшимся огромное спасибо за помощь!
Надеюсь на успешное усвоение азов программирования...
glsoft.ru мой варезник...
Armaghedo вне форума Ответить с цитированием
Старый 16.08.2009, 11:17   #2
bondik
Форумчанин
 
Регистрация: 24.04.2008
Сообщений: 300
По умолчанию

научиться пользоватся гуглом
http://lib.juga.ru/article/articlevi...ersion=enabled
bondik вне форума Ответить с цитированием
Старый 16.08.2009, 11:28   #3
Armaghedo
Пользователь
 
Аватар для Armaghedo
 
Регистрация: 16.08.2009
Сообщений: 13
По умолчанию

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

Вот что получается:

Цитата:
private void jButton2ActionPerformed(java.awt.ev ent.ActionEvent evt) {
// TODO add your handling code here:
// Строка Unicode
String string = "...";
// Записываем строку в текстовый файл в кодировке Cp866
PrintWriter pw = name PrintWriter // класс с методами записи строк
(name OutputStreamWriter); // класс-преобразователь
(name FileOutputStream); // класс записи байтов в файл
("file.txt"); ("Cp866");

pw.println(string); // записываем строку в файл

pw.close();
}
Это код кнопки которое должна считывать текст введенный в поле с названием name и записать в текстовик file.txt.
Только я что то не так написал:
1) перед PrintWriter предупреждение "cannot find simbol simbol: class PrintWriter location: class my.reader.NewsReaderUI, тут-же cannot find simbol simbol: method PrintWriter(javax.swing.JTextFielsd ) location: class my.reader.NewsReaderUI
2) перед (name OutputStreamWriter); - `)` expected not a statement `;` expected
3) перед (name FileOutputStream); - Примерно те-же ошибки что и в 2 и 1.
4) перед ("file.txt"); ("Cp866"); - not a statement

Помогите разобраться что за ошибки... интуитивно кажется что надо указать откуда выполнять функции, или я что-то напутал и код не подходит...
glsoft.ru мой варезник...

Последний раз редактировалось Stilet; 17.08.2009 в 08:34.
Armaghedo вне форума Ответить с цитированием
Старый 17.08.2009, 16:27   #4
Armaghedo
Пользователь
 
Аватар для Armaghedo
 
Регистрация: 16.08.2009
Сообщений: 13
По умолчанию

Итак потихоньку продвигаемся...

1) По поводу name и других подобный - name это имя текстового поля jTextFiels (я переименовал их для удобства).
2) Когда создал графическую оболочку то создал эти поля, думаю они должны быть автоматически объявлены в коде. Вот где нашел их в коде:

Код:
    private javax.swing.JTextField lang;
    private javax.swing.JTextField name;
    private javax.swing.JTextArea news;
    private javax.swing.JTextField oname;
Думаю это и есть объявление, если нет поправите меня.

Вот какой получается код кнопки:

Код:
  private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
String rname = name.getText(); // чтение из поля
// Открываем файл
PrintWriter pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream("file.txt"), "Cp866")); //классы "вкладываются" друг в друга
pw.printf(rname); // запись содержимого поля в файл
pw.println(rname); // записываем строку в файл
pw.close(); // закрываем
    }
Но в строке 4 старая ошибка: cannot find simbol simbol: class PrintWriter location: class my.reader.NewsReaderUI и так для всех 4-х операторов.

Возникают следующие вопросы:
1) Что делать со строкой 4 для коррекции ошибки и что это за ошибка?
2) Какая разница между операторами: pw.printf(rname); и pw.println(rname); Возможно printf это записывает содержимое как и print а println переходит на новую строку? Если так то можно ли написать просто pw.print(rname); ?
3) Можно проводить одновременное чтение нескольких полей и запись в файл одним нажатием кнопки?

Спасибо огромное за вашу помощь!
glsoft.ru мой варезник...
Armaghedo вне форума Ответить с цитированием
Старый 17.08.2009, 17:47   #5
alexinspir
Новичок
Джуниор
 
Регистрация: 26.08.2008
Сообщений: 1,010
По умолчанию

Цитата:
Сообщение от Armaghedo Посмотреть сообщение
Код:
    private javax.swing.JTextField lang;
    private javax.swing.JTextField name;
    private javax.swing.JTextArea news;
    private javax.swing.JTextField oname;
Код:
  private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
String rname = name.getText(); // чтение из поля
// Открываем файл
PrintWriter pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream("file.txt"), "Cp866")); //классы "вкладываются" друг в друга
pw.printf(rname); // запись содержимого поля в файл
pw.println(rname); // записываем строку в файл
pw.close(); // закрываем
    }


Методы PrintWriter

и еще, после объявления пакета, впишите:
import java.io.PrintWriter;



может сначала попробуете что-нить сделать руками, без IDE?
NetBeans пишет большую часть кода гуя за программиста, избавляя его от рутины, но эту рутину надо понимать.
Прежде чем идти в глубь языка, поймите его основные аспекты, а тут вам только мозг, книги и гугль могут помочь.

//на будущее кидайте весь код, а не его куски
[B]ромик0:[/B] Cколько получают здешние модераторы?
[B]pu4koff:[/B] У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими.
alexinspir вне форума Ответить с цитированием
Старый 17.08.2009, 18:53   #6
Armaghedo
Пользователь
 
Аватар для Armaghedo
 
Регистрация: 16.08.2009
Сообщений: 13
По умолчанию

Вот что добавил:

Код:
package my.reader;
import java.io.PrintWriter;  
import java.io.OutputStreamWriter;
import java.io.FileOutputStream;
Вот код кнопки:
Код:
    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
 // чтение из поля
String rname = name.getText();
// Открываем файл
PrintWriter pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream("file.txt"), "Cp866")); //классы "вкладываются" друг в друга
pw.printf(rname); // запись содержимого поля в файл

pw.println(rrapidlink); // записываем строку в файл
pw.close(); // закрываем
    }
Строка "PrintWriter..." показывает следующую ошибку:
unreported exception java.io.UnsupportedEncodingExceptio n; must be caught or declared to be thrown
unreported exception java.io.FileNotFoundException; must be caught or declared to be trhown


В чем дело, не пойму...
Импорт проверил, там реально есть такие классы.

P.S. Руками попробую тоже, как только закончу эту программку... она мне нужна по работе как можно раньше...
glsoft.ru мой варезник...
Armaghedo вне форума Ответить с цитированием
Старый 17.08.2009, 20:36   #7
alexinspir
Новичок
Джуниор
 
Регистрация: 26.08.2008
Сообщений: 1,010
По умолчанию

Цитата:
Сообщение от Armaghedo Посмотреть сообщение
Вот что добавил:

Код:
package my.reader;
import java.io.PrintWriter;  
import java.io.OutputStreamWriter;
import java.io.FileOutputStream;
Вот код кнопки:
Код:
    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
 // чтение из поля
String rname = name.getText();
// Открываем файл
PrintWriter pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream("file.txt"), "Cp866")); //классы "вкладываются" друг в друга
pw.printf(rname); // запись содержимого поля в файл

pw.println(rrapidlink); // записываем строку в файл
pw.close(); // закрываем
    }
Строка "PrintWriter..." показывает следующую ошибку:
unreported exception java.io.UnsupportedEncodingExceptio n; must be caught or declared to be thrown
unreported exception java.io.FileNotFoundException; must be caught or declared to be trhown


В чем дело, не пойму...
Импорт проверил, там реально есть такие классы.

P.S. Руками попробую тоже, как только закончу эту программку... она мне нужна по работе как можно раньше...
вы читать умеете? там же ясно написано:
unreported exception java.io.UnsupportedEncodingExceptio n; must be caught or declared to be thrown
unreported exception java.io.FileNotFoundException; must be caught or declared to be trhown

Исключение java.io.UnsupportedEncodingExceptio n должно быть обработано или проброшено
Исключение java.io.FileNotFoundException должно быть обработано или проброшено
[B]ромик0:[/B] Cколько получают здешние модераторы?
[B]pu4koff:[/B] У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими.
alexinspir вне форума Ответить с цитированием
Старый 18.08.2009, 02:00   #8
Armaghedo
Пользователь
 
Аватар для Armaghedo
 
Регистрация: 16.08.2009
Сообщений: 13
По умолчанию

Спасибо за подсказку - я не знал про предложения нетбина... нашел и следуя им получилось:

Код:
PrintWriter pw = null; //классы "вкладываются" друг в друга
        try {
            try {
                pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream("file.txt"), "Cp866"));
            } catch (FileNotFoundException ex) {
                Logger.getLogger(NewsReaderUI.class.getName()).log(Level.SEVERE, null, ex);
            }
        } catch (UnsupportedEncodingException ex) {
            Logger.getLogger(NewsReaderUI.class.getName()).log(Level.SEVERE, null, ex);
        }
Спасибо всем кто помог в этом! Первый результат есть!

1) Теперь надо прочитать на счет кодировки, файл создаетя, только текст русский не отображается нормально...
2) Нужен код для поиска определенного слова и чтения всей строки что следует за этим словом.
glsoft.ru мой варезник...
Armaghedo вне форума Ответить с цитированием
Старый 18.08.2009, 13:40   #9
alexinspir
Новичок
Джуниор
 
Регистрация: 26.08.2008
Сообщений: 1,010
По умолчанию

Цитата:
Сообщение от Armaghedo Посмотреть сообщение
1) Теперь надо прочитать на счет кодировки, файл создаетя, только текст русский не отображается нормально...
2) Нужен код для поиска определенного слова и чтения всей строки что следует за этим словом.
1.пишите в кодировке utf-8 или cp1251(для винды)
2. readLine(),indexOf() вам в помощь.
[B]ромик0:[/B] Cколько получают здешние модераторы?
[B]pu4koff:[/B] У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими.
alexinspir вне форума Ответить с цитированием
Старый 19.08.2009, 03:35   #10
Armaghedo
Пользователь
 
Аватар для Armaghedo
 
Регистрация: 16.08.2009
Сообщений: 13
По умолчанию

Проблему с кодировкой решил - cp1251 .

Для завершения первой части программы (ввод данных в текстовик) осталось еще одна проблема.

В наш текстовик мы ввели главную информацию. Но есть еще часть считывавшейся информации которая может изменяться. Попробую изложить задачу примером:
Цитата:
1) Имя ребенка
2) Возвраст ребенка
3) пол ребенка
...
Дело в том что если в информации о семье папа - только один, мама - только одна, дед, бабушка и.т.д. то дети могут быть от 1 до 10 к примеру. Но в графический интерфейс для ввода данных мы не можем учитывать 10 полей для имени ребенка, 10 для возраста, 10 для пола...
Решение этой проблемы я вижу таким способом:
1) Создал jTextField для Имени, для возраста и для пола (по одной).
2) Создал jTextList от 1 до 10 (для указания очереди).
3) Создал 1 кнопку jButton (для ввода информации).

Как будет происходить процесс ввода инфы:
1) Ввод - имя, возраст, пол.
2) Устанавливаю jTextList на 1 (первый ребенок).
3) Нажимаю кнопку jButton (ввод информации в текстовик).
4) Меняю - имя, возраст, пол (2-го ребенка)
5) Устанавливаю jTextList на 2 (2-й ребенок).
6) Кнопка jButton.
и так далее по количеству детей...

Вот в принципе как я вижу решение данной задачи. Жду ваши ответы по этому делу - если это можно так устроить и если это целесообразно. Возможно есть другой, более простой способ решения этой задачи?

Но если остаться на этом то сразу напишу мои вопросы:
1) Как написать считывание позиции jTextList (я никак не могу найти подходящий пример в гугле).
2) Как сделать чтобы при записи в текстовик, для каждого нажатия jButton, информация записывалась ниже, а не заново, поверх старой. Надо установить курсор в конец текста (старого) и записывать дальше.
glsoft.ru мой варезник...
Armaghedo вне форума Ответить с цитированием
Ответ
Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Где найти кряк или серийник? Sabber Свободное общение 1 26.10.2008 17:22
Запись из файла txt или mdb в базу данных DerSky БД в Delphi 6 09.06.2008 12:50
где найти инфу про программирование документов ms office в Delphi? нужно срочно! Алёна БД в Delphi 7 05.04.2007 12:57
Как и где найти компиляторы для Java KlErik Общие вопросы по Java, Java SE, Kotlin 1 10.03.2007 15:56