使用文件对话框打开和保存文件

Java文件对话框操作示例
本文介绍了一个Java程序示例,演示了如何使用FileDialog类实现文件的打开和保存功能。通过具体的代码实现,展示了如何读取文件内容并将其显示在窗口中,以及如何将窗口中的内容保存到文件。

   文件对话框:使用FileDialog类。其主要方法为:

   FileDialog(Frame f,String s,int mode).f对话框所在的窗体,s对话框的名字,     mode=FileDialog.LOAD,FileDialog.SAVE.

   public String getDirectory()。获取当前对话框中显示的文件的所属目录。

   public String getFile() 。获取当前文件对话框中显示的文件的 字符串表示(即文件路径)。  

   其功能是:打开一个文件,并将内容显示到对话框中,并能将对话框中的内容保存到另一个文件中。

   代码如下:

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class FileOperation {

 public static void main(String args[]){
  FileWindows win=new FileWindows();
 }}
 
 class FileWindows extends JFrame implements ActionListener{
  FileDialog fileDialog_save,fileDialog_load;
  MenuBar menubar;
  Menu menu;
  MenuItem itemOpen,itemSave;
  TextArea text;
  BufferedReader in;
  BufferedWriter out;
  FileReader file_reader;
  FileWriter toFile;
  FileWindows(){
   super("带文件对话框的窗口");
   setSize(260,270);
   setVisible(true);
   menubar =new MenuBar();
   menu=new Menu("文件");
   itemOpen=new MenuItem("open");
   itemSave=new MenuItem("save");
   itemOpen.addActionListener(this);
   itemSave.addActionListener(this);
   
   menu.add(itemOpen);
   menu.add(itemSave);
   menubar.add(menu);
   
   setMenuBar(menubar);
   
   fileDialog_save=new FileDialog(this,"保存文件对话框",FileDialog.SAVE);
   fileDialog_load=new FileDialog(this,"打开文件对话框",FileDialog.LOAD);
   
   fileDialog_save.addWindowListener(new WindowAdapter(){
    public void windowClosing(WindowEvent e){fileDialog_save.setVisible(false);}
   });
   
   fileDialog_load.addWindowListener(new WindowAdapter(){
    public void windowClosing(WindowEvent e){fileDialog_load.setVisible(false);}
   });
   addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});
   
   text=new TextArea(10,10);
   add(text,BorderLayout.CENTER);
   
  }
  
 
  
 
 
 public void actionPerformed(ActionEvent e){
  if(e.getSource()==itemOpen)
  {
   fileDialog_load.setVisible(true);
   text.setText(null);
   String s;
   if(fileDialog_load.getFile()!=null){
    try {
     File file=new File(fileDialog_load.getDirectory(),fileDialog_load.getFile());
     file_reader=new FileReader(file);
     in=new BufferedReader(file_reader);
     while((s=in.readLine())!=null)text.append(s+'/n');
     in.close();
     file_reader.close();
    }
    catch (IOException e2){}
   }
  }
  else if(e.getSource()==itemSave)
  {
   fileDialog_save.setVisible(true);
   if(fileDialog_save.getFile()!=null)
   {
    try {
     File file=new File(fileDialog_save.getDirectory(),fileDialog_save.getFile());
     FileWriter tofile=new FileWriter(file);
     out=new BufferedWriter(tofile);
     out.write(text.getText(),0,(text.getText().length()));
     out.flush();
     out.close();
     tofile.close();
    }
    catch (IOException e2){}
   }
  }
 }
 
 }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值