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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lighter 中级黑马   /  2014-11-10 18:10  /  1877 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
//文件的创建、删除和更名
public class FileUseDemo extends JFrame{
JTextField jtfPath;
public FileUseDemo(){
  super("文件的创建、删除和更名"); //调用父类构造函数
  jtfPath=new JTextField(16); //实例化文件路径输入框
  JButton jbFile=new JButton("选择"); //实例化文件选择按钮
  JPanel panel=new JPanel(); //实例化面板,用于容纳输入框和按钮
  panel.add(new JLabel("文件名: ")); //增加组件到面板
  panel.add(jtfPath);
  panel.add(jbFile);
  JPanel panel2=new JPanel();
  panel2.add(new JButton(new CreateFileAction()));  //实例化按钮,并增加到面板2上
  panel2.add(new JButton(new RenameFileAction()));
  panel2.add(new JButton(new DeleteFileAction()));
  jbFile.addActionListener(new ActionListener(){ //选择文件按钮事件处理
   public void actionPerformed(ActionEvent event) {
    JFileChooser fileChooser=new JFileChooser();  //实例化文件选择器
    fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);  //设置文件选择模式,此处为文件和目录均可
    if (fileChooser.showOpenDialog(FileUseDemo.this)==JFileChooser.APPROVE_OPTION){ //弹出文件选择器,并判断是否点击了打开按钮
     String fileName=fileChooser.getSelectedFile().getAbsolutePath(); //得到选择文件或目录的绝对路径
     jtfPath.setText(fileName);
    }
   }
  });
  Container container=getContentPane(); //得到容器
  container.add(panel,BorderLayout.NORTH); //增加组件到容器
  container.add(panel2,BorderLayout.CENTER);
  setSize(330,120); //设置窗口尺寸
  setVisible(true); //设置窗口可视
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序
}
class CreateFileAction extends AbstractAction { //创建新文件
  public CreateFileAction() {
      super("创建"); //调用父类构造函数
  }
  public void actionPerformed(ActionEvent e) {
   String filename=jtfPath.getText(); //从输入框得到文件名
   File sfile=new File(filename); //实例化一个文件
   try{
    if (!sfile.exists()){ //如果文件不存在
     if (sfile.createNewFile()==true){ //创建文件成功
      showMessage(filename+" 新文件创建成功."); //显示信息
     }
     else{
      showMessage(filename+" 新文件创建失败.");
     }
    }
    else{
     showMessage(filename+" 原文件已存在.");
    }
   }
   catch (Exception ex){
    ex.printStackTrace(); //打印错误信息
   }
  }
}
class RenameFileAction extends AbstractAction { //重命名文件
  public RenameFileAction() {
      super("重命名");
  }
  public void actionPerformed(ActionEvent e) {
   String filename=JOptionPane.showInputDialog("输入新文件名"); //输入新文件名对话框
   File sfile=new File(jtfPath.getText()); //源文件
   File f=new File(filename); //新文件
   sfile.renameTo(f); //重命名
   showMessage(sfile.getName()+" 重命名成功."); //显示信息
   jtfPath.setText(f.getAbsolutePath()); //更新输入框的文件名
  }
}
class DeleteFileAction extends AbstractAction { //删除文件
  public DeleteFileAction() {
      super("删除");
  }
  public void actionPerformed(ActionEvent e) {
   File sfile=new File(jtfPath.getText()); //源文件
   try{
    sfile.delete(); //删除文件
    showMessage(sfile.getName()+" 删除成功."); //显示信息
   }
   catch(Exception ex){
    showMessage(sfile.getName()+" 删除失败.");
    ex.printStackTrace();
   }
  }
}
private void showMessage(String message){
  JOptionPane.showMessageDialog(FileUseDemo.this,message); //显示信息
}
public static void main(String[] args){
  new FileUseDemo();
}
}

无标题.jpg (24.79 KB, 下载次数: 9)

无标题.jpg

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

1 个回复

倒序浏览
学习了!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马