Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > file类删除文件夹的简单例子
【标  题】:file类删除文件夹的简单例子
【关键字】:file
【来  源】:http://www.cublog.cn/u/23900/showart.php?id=179924

file类删除文件夹的简单例子

Your Ad Here package com.myapp;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.ScrollPane;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;

import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;



public class DelFolder extends JFrame {
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    private JTextArea outputArea;
    private JButton button;
    
    public DelFolder() {
        super("Testing class File");
       
        button = new JButton("Delete folder name _svn");
        ButtonHandler handler = new ButtonHandler();
        button.addActionListener(handler);
       
       
        outputArea = new JTextArea();
        outputArea.setLineWrap(true);
        ScrollPane scrollPane = new ScrollPane();
        scrollPane.add(outputArea);
   
        Container container = getContentPane();
        container.add(button, BorderLayout.NORTH);
        container.add(scrollPane, BorderLayout.CENTER);
   
        setSize(600, 600);
        setVisible(true);
    }
   
    private void OpenFolder() {
        // TODO Auto-generated method stub
        JFileChooser fileChooser = new JFileChooser();
        fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
     
        int result = fileChooser.showOpenDialog(this);
     
        if (result == JFileChooser.CANCEL_OPTION)
            return;
     
        File fileName = fileChooser.getSelectedFile();
     
        if (fileName == null || fileName.getName().equals(""))
            JOptionPane.showMessageDialog(this, "Invalid File Name", "Invalid File Name", JOptionPane.ERROR_MESSAGE);
        else {
            deleteFolder(fileName);
        }
    }

    private void deleteFolder(File fileName) {
        // TODO Auto-generated method stub
        File[] flist = fileName.listFiles();
        for (int i = 0; i < flist.length; i ++) {
            File tmp = flist[i];
            if (tmp.isDirectory()) {
                if (tmp.getName().equals("delfolder")) {
                    delsvn(tmp);
                    tmp.delete();
                } else {
                    deleteFolder(tmp);
                }
            }
        }
    }

    private void delsvn(File tmp) {
        // TODO Auto-generated method stub
        File[] svnlist = tmp.listFiles();
        for (int i = 0; i < svnlist.length; i ++) {
            File dfile = svnlist[i];
            if (dfile.isDirectory()) {
                delsvn(dfile);
                dfile.delete();
            } else {
                dfile.delete();
            }
        }
    }

    public static void main(String[] args) {
        DelFolder app = new DelFolder();
        app.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
    }

    private class ButtonHandler implements ActionListener {
        public void actionPerformed(ActionEvent arg0) {
            OpenFolder();
            outputArea.setText("delete complete !");
        }
    }
}
[保留] [转贴]locale 详解:【上一篇】
Java B/S开发模式漫谈 (转载):【下一篇】
【相关文章】
  • .bash_profile和.bashrc的区别
  • LUCENE Filed详解
  • Makefile文件编写规则
  • makefile进阶
  • 把多个子库链接成一个大库(makefile)
  • 常用的一个简单生成静态库的makefile
  • GetPrivateProfileString函数说明
  • WritePrivateProfileString函数说明
  • 修改nfile值(首篇原创!!!)
  • MySQL SQL Profiler性能分析器 (tcpdump)
  • 【随机文章】
  • 如何创建和使用Web服务
  • Linux开机过程的分析(关于bootsect.S )
  • 中国月历控件—— Chinese Calendar
  • 如何将你的AutoCAD绘图加速
  • 禁止查找用户
  • LoadRunner日积月累(9) —— 分段录制脚本
  • ibatis 开始之旅
  • Enterprise Library 3.0 安装过程
  • diggmore phpmore原创框架
  • 简化电机运动控制的六种最新产品
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.