A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. /*
  2. awt 类////类似记事本的小程序
  3. */
  4. import java.io.*;
  5. import java.awt.*;
  6. import java.awt.event.*;

  7. class  Demo002
  8. {
  9.         public static void main(String[] args)
  10.         {
  11.                 new app();
  12.         }
  13. }

  14. class app_2
  15. {
  16.         private Frame f;
  17.         private TextArea ta;
  18.         private Button dlBut;
  19.         private Label dlLabel;
  20.         private MenuBar mb;
  21.         private Menu m;
  22.         private MenuItem closeM,openM,saveM,newM;
  23.         private FileDialog openD,saveD;
  24.         private File saveF,openF;

  25.         app_2()
  26.         {
  27.                 init();
  28.         }

  29.         private void init()//初始化
  30.         {
  31.                 f = new Frame("优化代码");
  32.                 ta = new TextArea("",30,70);
  33.                
  34.                 //按钮初始化
  35.                 mb = new MenuBar();
  36.                 m  = new Menu("文件");
  37.                 newM = new MenuItem("新建");
  38.                 saveM = new MenuItem("保存");       
  39.                 openM = new MenuItem("打开");
  40.                 closeM = new MenuItem("关闭");
  41.                
  42.                 //对话框初始化
  43.                 openD = new FileDialog(f,"打开文件");
  44.                 saveD = new FileDialog(f,"保存文件",FileDialog.SAVE);
  45.                
  46.                 //窗体规格设置
  47.                 f.setBounds(300,300,600,400);
  48.                 f.setVisible(true);

  49.                 //按钮添加
  50.                 mb.add(m);
  51.                 m.add(newM);
  52.                 m.add(openM);
  53.                 m.add(saveM);
  54.                 m.add(closeM);

  55.                 //窗体添加组件
  56.                 f.add(ta);
  57.                 f.setMenuBar(mb);
  58.                
  59.                 //调用监听器
  60.                 frameListener();
  61.         }

  62.         //主窗体监听事件
  63.         private void frameListener()
  64.         {       
  65.                 //点击x退出程序
  66.                 f.addWindowListener(new WindowAdapter()
  67.                 {
  68.                         public void windowClosing(WindowEvent e)
  69.                         {
  70.                                 System.exit(0);
  71.                         }
  72.                 });

  73.                 closeM.addActionListener(new ActionListener()
  74.                 {
  75.                         public void actionPerformed(ActionEvent e)
  76.                         {
  77.                                 System.exit(0);
  78.                         }
  79.                 });

  80.                 //新建菜单
  81.                 newM.addActionListener(new ActionListener()
  82.                 {
  83.                         public void actionPerformed(ActionEvent e)
  84.                         {
  85.                                 saveF = null;
  86.                                 openF = null;
  87.                                 ta.setText("");
  88.                         }
  89.                 });

  90.                 //打开文件对话框 读取文件操作
  91.                 openM.addActionListener(new ActionListener()
  92.                 {
  93.                         public void actionPerformed(ActionEvent e)
  94.                         {
  95.                                 openD.setVisible(true);
  96.                                 String dir = openD.getDirectory();
  97.                                 String path = openD.getFile();
  98.                                 if(path!=null && dir!=null )
  99.                                 {
  100.                                         openF = new File(dir,path);
  101.                                         ta.setText("");

  102.                                         BufferedReader buffr = null;
  103.                                         try
  104.                                         {
  105.                                                 buffr = new BufferedReader(new FileReader(openF));
  106.                                                 String str = null;
  107.                                                 while((str=buffr.readLine())!=null)
  108.                                                         ta.append(str+"\r\n");
  109.                                                 saveF = openF;//这里是打开文件保存到原来路径的设置
  110.                                         }
  111.                                         catch (IOException ex)
  112.                                         {
  113.                                                 throw new RuntimeException("读取失败的");
  114.                                         }
  115.                                         finally
  116.                                         {
  117.                                                 try
  118.                                                 {
  119.                                                         if(buffr!=null)
  120.                                                                 buffr.close();
  121.                                                 }
  122.                                                 catch (IOException ex)
  123.                                                 {
  124.                                                         throw new RuntimeException("关闭失败的");
  125.                                                 }
  126.                                         }
  127.                                        
  128.                                 }

  129.                         }
  130.                 });
  131.                
  132.                 //保存文件对话框 存储文件操作
  133.                 saveM.addActionListener(new ActionListener()
  134.                 {
  135.                         public void actionPerformed(ActionEvent e)
  136.                         {       
  137.                                        
  138.                                 if(saveF==null)
  139.                                 {
  140.                                         saveD.setVisible(true);
  141.                                         String dir = saveD.getDirectory();
  142.                                         String path = saveD.getFile();
  143.                                         if(path==null || dir==null)
  144.                                                 return ;
  145.                                         saveF = new File(dir,path);
  146.                                 }
  147.                                
  148.                                
  149.                                
  150.                                 BufferedWriter buffw = null;
  151.                                 try
  152.                                 {
  153.                                         buffw = new BufferedWriter(new FileWriter(saveF));
  154.                                         String text = ta.getText();
  155.                                         buffw.write(text);
  156.                                         buffw.flush();
  157.                                 }
  158.                                 catch (IOException ex)
  159.                                 {
  160.                                         throw new RuntimeException("关闭失败的");
  161.                                 }
  162.                                 finally
  163.                                 {
  164.                                         try
  165.                                         {
  166.                                                 if(buffw!=null)
  167.                                                         buffw.close();
  168.                                         }
  169.                                         catch (IOException ex)
  170.                                         {
  171.                                                 throw new RuntimeException("关闭失败的");
  172.                                         }
  173.                                 }
  174.                         }
  175.                 });

  176.         }
  177. }
复制代码

1 个回复

倒序浏览
原来老毕那打开了一个文件是不能直接保存为原来的路径的..点保存还是有东西弹出来的..估计是为了上课没说吧....
改了一下....
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马