一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

分享Java目录和文件的创建、删除和更名教程

时间:2012-03-20 编辑:简简单单 来源:一聚教程网

 代码如下 复制代码

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();
 }
}

源码下载包 http://down.111com.net/down/code/jsp/2012/0320/24025.html

热门栏目