ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Министерство образования Республики БеларусьУО “Барановичский государственный университет”
Инженерный факультет
Кафедра информационных систем и технологий
Программирование сетевых приложений Лабораторная работа № 2 Вариант №5
Выполнил: Студент группы ИСТ-31 Корсиков Р.Д. Проверил: Рогозик А.С.
Барановичи, 2014 Тема: Потоки ввода-вывода и работа с файлами. Многопоточность Цель: Изучить потоки ввода-вывода и работу с файлами в языке Java. Научиться создавать приложения с графическим интерфейсом пользователя для работы с файлами, используя диалоги выбора файлов. Научиться создавать многопоточные приложения. Задание 1: Написать программу с графическим интерфейсом пользователя для работы с файловой системой согласно варианту задания. Варианты заданий: 5. Написать программу для записи строковых данных в файл и считывания их из файла. Код программы: package lab; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger;
public class lab extends javax.swing.JFrame { public lab() { initComponents(); } @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { jScrollPane1 = new javax.swing.JScrollPane(); jTextArea1 = new javax.swing.JTextArea(); jButton1 = new javax.swing.JButton(); jButton2 = new javax.swing.JButton(); jButton3 = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jTextArea1.setColumns(20); jTextArea1.setRows(5); jScrollPane1.setViewportView(jTextArea1); jButton1.setText("Save"); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); } }); jButton2.setText("Open"); jButton2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton2ActionPerformed(evt); } }); jButton3.setText("Exit"); jButton3.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton3ActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addContainerGap(34, Short.MAX_VALUE) .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(76, 76, 76)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addContainerGap() .addComponent(jScrollPane1) .addContainerGap())); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE, false) .addComponent(jButton1) .addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jButton3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 254, Short.MAX_VALUE) .addContainerGap())); pack(); }// </editor-fold> private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: System.exit(0); } private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { String str; str=System.getProperty("user.dir.dir"); try { try (java.io.FileOutputStream fout = new java.io.FileOutputStream(str+"mydata.txt")) { fout.write(jTextArea1.getText().getBytes()); } } catch(java.io.FileNotFoundException e) { jTextArea1.setText("DO NOT SAVE!"); } catch (IOException ex) { Logger.getLogger(lab.class.getName()).log(Level.SEVERE, null, ex); } } private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { jTextArea1.repaint(); String str1; str1=System.getProperty("user.dir.dir"); try { try (java.io.FileInputStream fin = new java.io.FileInputStream(str1+"mydata.txt")) { StringBuilder str = new StringBuilder(); int symb; while((symb=fin.read())!=-1) { str.append((char) symb); } jTextArea1.setText(str.toString()); } } catch(java.io.FileNotFoundException e) { jTextArea1.setText("File Not Found!"); } catch (IOException ex) { Logger.getLogger(lab.class.getName()).log(Level.SEVERE, null, ex); } } /** * @param args the command line arguments */ public static void main(String args[]) { /* Set the Nimbus look and feel */ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info: javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(lab.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } //</editor-fold> /* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { @Override public void run() { new lab().setVisible(true); } }); } private javax.swing.JButton jButton1; private javax.swing.JButton jButton2; private javax.swing.JButton jButton3; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTextArea jTextArea1;} Открытие: Сохранение: Не нашли, что искали? Воспользуйтесь поиском:
|