package com.case1;
/*
import java.awt.event.*;
public class CaseDemo3 extends JFrame implements ActionListener{
//定义一个文本区
JTextArea jta=null;
//定义菜单项
JMenuBar jmb=null;
JMenu jm1=null;
JMenuItem jmi1=null;
JMenuItem jmi2=null;
JMenuItem jmi3=null;
JMenuItem jmi4=null;
public static void main(String[] args) {
// TODO Auto-generated method stub
CaseDemo3 cd3=new CaseDemo3();
}
//初始化
public CaseDemo3(){
//初始化文本区
jta=new JTextArea();
//初始化菜单项
jmb=new JMenuBar();
jm1=new JMenu("文件");
jmi1=new JMenuItem("新建");
jmi2=new JMenuItem("打开");
jmi3=new JMenuItem("保存");
jmi4=new JMenuItem("退出");
//初始化界面
this.setSize(400,300);
this.setTitle("简易记事本");
this.setLocationRelativeTo(jta);
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
this.setVisible(true);
//添加菜单条
this.setJMenuBar(jmb);
jmb.add(jm1);
jm1.add(jmi1);
jm1.add(jmi2);
jm1.add(jmi3);
jm1.add(jmi4);
//注册监听
jmi1.addActionListener(this);
jmi1.setActionCommand("新建");
jmi2.addActionListener(this);
jmi2.setActionCommand("打开");
jmi3.addActionListener(this);
jmi3.setActionCommand("保存");
jmi4.addActionListener(this);
jmi4.setActionCommand("退出");
//添加文本区
this.add(jta);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getActionCommand().equals("新建")){
jta.setText("");
}else if(e.getActionCommand().equals("打开")){
JFileChooser jfc=new JFileChooser();
jfc.setDialogTitle("打开文件.......");
jfc.showOpenDialog(null);
String fileName=jfc.getSelectedFile().getAbsolutePath();
FileReader fr=null;
BufferedReader br=null;
try {
fr=new FileReader(fileName);
br=new BufferedReader(fr);
String s="";
String allCon="";
while((s=br.readLine())!=null){
allCon+=s+"\r\n";
}
jta.setText(allCon);
} catch (Exception e2) {
e2.printStackTrace();
// TODO: handle exception
}finally{
try {
fr.close();
br.close();
} catch (Exception e3) {
e3.printStackTrace();
// TODO: handle exception
}
}
}else if(e.getActionCommand().equals("保存")){
JFileChooser jfc=new JFileChooser();
jfc.setDialogTitle("另存为......");
jfc.showSaveDialog(null);
jfc.setVisible(true);
String fileName=jfc.getSelectedFile().getAbsolutePath();
FileWriter fw=null;
BufferedWriter bw=null;
try {
fw=new FileWriter(fileName);
bw=new BufferedWriter(fw);
bw.write(this.jta.getText());
} catch (IOException e2) {
// TODO: handle exception
e2.printStackTrace();
}finally{
try {
fw.close();
bw.close();
} catch (Exception e3) {
e3.printStackTrace();
// TODO: handle exception
}
}
}else if(e.getActionCommand().equals("退出")){
System.exit(0);
}
}
}
储存都是正确的,但保存的时候,不能正常存入内容,而且还报出了io异常,说
stream close的错误,还请大神帮我看一眼代码
String fileName=jfc.getSelectedFile().getAbsolutePath();
这个得到的是路径不是文件名,往路径里写肯定异常
File file = jfc.getSelectedFile();
然后用java.io操作这个file就行了