练习:打开,保存文件
/*
练习:打开,保存文件*/import java.io.*;
import java.awt.*;
import java.awt.event.*;class MyMenu {private Frame frame;private MenuBar menuBar;private Menu fileMenu;private MenuItem openItem, saveItem, closeItem;private FileDialog openDialog, saveDialog; //对话框private TextArea textArea;private File file;MyMenu() {init();}public void init() {//设置窗体frame = new Frame("my frame");frame.setBounds(300, 100, 600, 500);//frame.setLayout(new FlowLayout());menuBar = new MenuBar();fileMenu = new Menu("文件");openItem = new MenuItem("打开");saveItem = new MenuItem("保存");closeItem = new MenuItem("退出");textArea = new TextArea();//往窗体添加组件frame.setMenuBar(menuBar);frame.add(textArea);menuBar.add(fileMenu);fileMenu.add(openItem);fileMenu.add(saveItem);fileMenu.add(closeItem);//设置文件对话框openDialog = new FileDialog(frame, "打开文件", FileDialog.LOAD);saveDialog = new FileDialog(frame, "保存文件", FileDialog.SAVE);myEvent();frame.setVisible(true);}private void myEvent() {openItem.addActionListener(new ActionListener() { //打开public void actionPerformed(ActionEvent e) {openDialog.setVisible(true);String dirPath = openDialog.getDirectory();String fileName = openDialog.getFile();//System.out.println(dirPath + " " + fileName);if(dirPath == null || fileName == null)return;textArea.setText("");file = new File(dirPath, fileName);BufferedReader bufr = null;try {bufr = new BufferedReader(new FileReader(file));String str = null;while((str = bufr.readLine()) != null)textArea.append(str + "\r\n");} catch(IOException ie) {ie.printStackTrace();} finally {try {if(bufr != null)bufr.close();} catch(IOException ie) {ie.printStackTrace();}}}});saveItem.addActionListener(new ActionListener() { //保存public void actionPerformed(ActionEvent e) {if(file == null) {saveDialog.setVisible(true);String dirPath = saveDialog.getDirectory();String fileName = saveDialog.getFile();if(dirPath == null || fileName == null)return;file = new File(dirPath, fileName);}BufferedWriter bufw = null;try {bufw = new BufferedWriter(new FileWriter(file));String info = textArea.getText();bufw.write(info);} catch(IOException ie) {ie.printStackTrace();} finally {try {if(bufw != null)bufw.close();} catch(IOException ie) {ie.printStackTrace();}}}});closeItem.addActionListener(new ActionListener() { //退出public void actionPerformed(ActionEvent e) {System.exit(1);}});frame.addWindowListener(new WindowAdapter() { //关闭窗体public void windowClosing(WindowEvent e) {System.exit(1);}});}
}
public class OpenAndSaveFile {public static void main(String[] args) {new MyMenu();}
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
