您的位置:首页 > 编程语言 > Java开发

Java_打开/保存文件

2013-02-20 14:47 190 查看
import java.io.File;
import java.io.FileInputStream;
4000
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.util.Scanner;
import java.awt.BorderLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JFileChooser;
import javax.swing.JScrollPane;

class Note implements ActionListener {

private JTextArea area = new JTextArea(8, 10); // 定义文本区
private JFrame frame = new JFrame("Welcome To MLDN");
private JButton open = new JButton("打开文件");
private JButton save = new JButton("保存文件");
private JLabel label = new JLabel("现在没有打开的文件");
private JPanel butPan = new JPanel();

public Note() {
this.butPan.add(open); // 在面板中加入按钮
this.butPan.add(save); // 在面板中加入按钮
this.frame.setLayout(new BorderLayout(3, 3));
this.frame.add(this.label, BorderLayout.NORTH);
this.frame.add(this.butPan, BorderLayout.SOUTH);
this.frame.add(new JScrollPane(this.area), BorderLayout.CENTER);
this.frame.setSize(330, 180);
this.frame.setVisible(true);
this.frame.addWindowListener(
new WindowAdapter() {

public void windowClosing(WindowEvent e) {
System.exit(1);
}
});
this.open.addActionListener(this);
this.save.addActionListener(this);
}

public void actionPerformed(ActionEvent e) {
File file = null; // 接收文件
int result = 0; // 接收操作状态
JFileChooser fileChooser = new JFileChooser(); // 文件选择框
if (e.getSource() == this.open) { // 表示执行的是打开操作
this.area.setText(""); // 打开将文字区域的内容清空
fileChooser.setApproveButtonText("确定");
fileChooser.setDialogTitle("打开文件");
result = fileChooser.showOpenDialog(this.frame);
if (result == JFileChooser.APPROVE_OPTION) { // 选择的是确定按钮
file = fileChooser.getSelectedFile(); // 得到选择的文件
this.label.setText("打开的文件名称为:" + file.getName());
} else if (result == JFileChooser.CANCEL_OPTION) {
this.label.setText("没有选择任何文件");
} else {
this.label.setText("操作出现错误");
}
if (file != null) {
try {
Scanner scan = new Scanner(new FileInputStream(file));
scan.useDelimiter("\n");
while (scan.hasNext()) {
this.area.append(scan.next());
this.area.append("\n");
}
scan.close();
} catch (Exception e1) {
}
}
}
if (e.getSource() == this.save) { // 判断是否是保存操作
result = fileChooser.showSaveDialog(this.frame); // 显示保存框
if (result == JFileChooser.APPROVE_OPTION) { // 选择的是确定按钮
file = fileChooser.getSelectedFile(); // 得到选择的文件
this.label.setText("选择的存储文件名称为:" + file.getName());
} else if (result == JFileChooser.CANCEL_OPTION) {
this.label.setText("没有选择任何文件");
} else {
this.label.setText("操作出现错误");
}
if (file != null) {
try {
PrintStream out = new PrintStream(new FileOutputStream(file));
out.print(this.area.getText());
out.close();
} catch (Exception e1) {
}
}
}
}
}

public class Test {

public static void main(String args[]) {
new Note();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: