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
}
|