This example program reads from a file into a textarea. A weakness is that it has not concept of model, some logical problem that is being solved. A real program might send the file text to a model where it would be stored, processed, or whatever.
Example of: JFileChooser, BufferedReader, ...
Enhancements: Write file, create menus, create a model to do something with the file, ...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// FileIoDemo/FileInput.java -- Demonstrate File Input // Fred Swartz - December 2004 package FileIoDemo; import javax.swing.*; public class FileInput { public static void main(String[] args) { JFrame window = new FileInputGUI(); window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); window.setVisible(true); } } |
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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
// FileIoDemo/FileInputGUI.java -- Demonstrate File Input // Fred Swartz - December 2004 package FileIoDemo; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; class FileInputGUI extends JFrame { JTextArea m_fileContents = new JTextArea(20, 80); JFileChooser m_fc = new JFileChooser("."); //======================================================= constructor FileInputGUI() { //... Create a button to open a file. JButton openFileBtn = new JButton("Open"); openFileBtn.addActionListener(new OpenAction()); //... Create a "controls" panel with button on it. JPanel controls = new JPanel(); controls.setLayout(new FlowLayout()); controls.add(openFileBtn); //... Create the content pane with controls and a textarea. JPanel content = new JPanel(); content.setLayout(new BorderLayout()); content.add(controls, BorderLayout.NORTH); content.add(new JScrollPane(m_fileContents), BorderLayout.CENTER); this.setContentPane(content); this.pack(); this.setTitle("File Input"); } ////////////////////////////////////// inner listener class OpenAction class OpenAction implements ActionListener { public void actionPerformed(ActionEvent e) { int retval = m_fc.showOpenDialog(FileInputGUI.this); if (retval == JFileChooser.APPROVE_OPTION) { File inFile = m_fc.getSelectedFile(); try { FileReader fr = new FileReader(inFile); BufferedReader bufRdr = new BufferedReader(fr); String line = null; while ((line = bufRdr.readLine()) != null){ m_fileContents.append(line); m_fileContents.append("\n"); } bufRdr.close(); } catch (IOException ioex) { System.err.println(ioex); System.exit(1); } } }//end actionPerformed }//end inner listener class OpenAction } |