Страница 2 из 3 Создание временного файла при запуске
В качестве следующего примера мы рассмотрим простое Swing-приложение, главный класс которого называется MySwingApp. Это приложение создает временный файл при запуске. Когда оно закрывается, файл должен быть удален. Код этого приложения приведен в Листинге 2. Листинг 2 package test;
import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.File; import java.io.IOException;
public class MySwingApp extends JFrame { JButton exitButton = new JButton(); JTextArea jTextArea1 = new JTextArea();
String dir = System.getPro perty("user.dir"); String filename = "temp.txt";
public MySwingApp() { exitButton.setText("Exit"); exitButton.setBounds(new Rectangle(304, 248, 76, 37)); exitButton.addActionListener(new java.awt.event.Action Listener() { public void actionPerfor- med(ActionEvent e) { exitButton_actionPerformed(e); } });
this.getContentPane().set Layout(null); jTextArea1.setText("Click the Exit button to quit"); jTextArea1.setBounds(new Rectangle(9, 7, 371, 235)); this.getContentPane().add (exitButton, null); this.getContentPane().add (jTextArea1, null); this.setDefaultCloseOpera-tion(EXIT_ON_CLOSE); this.setBounds(0,0, 400, 330); this.setVisible(true); initialize(); }
private void initialize() { //создание временного файла File file = new File(dir, filename);
try { System.out.println("Crea-ting temporary file"); file.createNewFile(); } catch (IOException e) { System.out.println("Failed creating temporary file."); } }
private void shutdown() { //удаление временного файла File file = new File(dir, filename);
if (file.exists()) { System.out.println("Deleting temporary file."); file.delete(); } }
void exitButton_action Performed(ActionEvent e) { shutdown(); System.exit(0); }
public static void main (String[] args) { MySwingApp mySwingApp = new MySwingApp(); } } При запуске это приложение вызывает метод initialize. Этот метод, в свою очередь, создает в текущей директории временный файл с именем temp.txt. private void initialize() { //создание временного файла File file = new File(dir, filename); try { System.out.println("Crea-ting temporary file"); file.createNewFile(); } catch (IOException e) { System.out.println("Failed creating temporary file."); } } Когда пользователь закрывает это приложение, то временный файл должен быть удален. В данном случае нам остается надеяться на то, что пользователь нажмет кнопку Exit, и по ее нажатию будет вызван метод shutdown, который и удаляет временный файл. Однако временный файл не будет удален в случае, если пользователь для выхода из программы воспользуется системной кнопкой X окна приложения или каким-либо другим способом. |