Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
/
“ Потоки та робота із файлами у Java”
Звіт
до лабораторної роботи №6
з курсу “Об’єктно-орієнтоване програмування”
ЛЬВІВ, 2016
Індивідуальне завдання
Варіант 6
Створити програму для проглядання даних в текстовому файлі з використанням класу StreamTokenizer. Кожен рядок файлу містить ім'я товару, ціну і довільні відомості про товар. Компоненти графічного вікна: напис "Зведення про товар" у області North і розщеплена панель у області Center. У лівій частині розщепленої панелі розміщений об'єкт класу JList, що містить список для вибору імені або імен товарів, а в правій частині розщепленої панелі розміщена текстова область для виведення відомостей про вибрані товари. На початку роботи програми є видимим файл і з імен товарів формується список. При виборі імен товарів зведення про них виводяться в текстовій області.
Текст програми
import java.awt.*;import java.io.*;import java.util.StringTokenizer;import javax.swing.*;import javax.swing.event.ListSelectionEvent;public class Main{ static JLabel l = new JLabel("Зведення про товар:"); static JTextArea ta = new JTextArea(); @SuppressWarnings({ "deprecation", "rawtypes", "unchecked"}) public static void main(String[] args) throws IOException { JFrame frame = new JFrame(); frame.setLayout(null); frame.setSize(500, 400); frame.setUndecorated(false); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setResizable(false); frame.setLocation(100, 100); frame.setTitle("Лабораторна робота №6"); frame.add(l, Label.LEFT); frame.add(l); l.reshape(180, 0, 140, 100); ta.setLineWrap(true); frame.add(ta, Label.LEFT); frame.add(ta); ta.reshape(150, 80, 300, 230); String s = ""; String[] data = new String[10]; BufferedReader in = new BufferedReader(new FileReader("D:/test.txt")); boolean next_is_tovar = true; int calc = 0; DefaultListModel listModel = new DefaultListModel(); JList list = new JList(listModel); s = in.readLine(); while(s != null) { StringTokenizer st = new StringTokenizer(s); while(st.hasMoreTokens()) { if(next_is_tovar == true) { listModel.addElement(st.nextToken()); next_is_tovar = false; } else { if(data[calc] == null) data[calc] = st.nextToken(); else { data[calc] += " "; data[calc] += st.nextToken(); } } } System.out.println(data[calc]); next_is_tovar = true; s = in.readLine(); calc++; } frame.add(list, Label.LEFT); frame.add(list); list.reshape(45, 80, 100, 230); int fake = 0; while(fake == 0) { if(list.getSelectedIndex() == 0) ta.setText(data[0]); else if(list.getSelectedIndex() == 1) ta.setText(data[1]); else if(list.getSelectedIndex() == 2) ta.setText(data[2]); else if(list.getSelectedIndex() == 3) ta.setText(data[3]); else if(list.getSelectedIndex() == 4) ta.setText(data[4]); else if(list.getSelectedIndex() == 5) ta.setText(data[5]); else if(list.getSelectedIndex() == 6) ta.setText(data[6]); else if(list.getSelectedIndex() == 7) ta.setText(data[7]); else if(list.getSelectedIndex() == 8) ta.setText(data[8]); else if(list.getSelectedIndex() == 9) ta.setText(data[9]); } }}
Результат виконання програми
/
Висновки
Під час виконання даної лабораторної роботи я одержав навики роботи із потоками та файлами у Java.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!