java删除目录下所有文件_java删除文件夹中所有文件(入门级示例)

该博客介绍了一个使用Java编程实现文件夹删除功能的应用。通过创建`FileDeletionFrame`类,用户可以选择文件夹,点击删除按钮后,程序将递归删除所选文件夹及其内容,并将删除的文件路径显示在文本区域。主要涉及JFrame、JFileChooser、JButton等Swing组件以及File类的操作。
摘要由CSDN通过智能技术生成

【实例简介】删除文件夹

【实例截图】

f3fc6fb5086ee3227e00309abaa3e3c9.png

【核心代码】

package com.mingrisoft;

import java.awt.BorderLayout;

import java.awt.EventQueue;

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.JLabel;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;

import javax.swing.JTextField;

import javax.swing.border.EmptyBorder;

public class FileDeletionFrame extends JFrame {

/**

*

*/

private static final long serialVersionUID = 5966967992989508020L;

private JPanel contentPane;

private JTextField textField;

private JTextArea textArea;

private File selectFile;

/**

* Launch the application.

*/

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

public void run() {

try {

FileDeletionFrame frame = new FileDeletionFrame();

frame.setVisible(true);

} catch (Exception e) {

e.printStackTrace();

}

}

});

}

/**

* Create the frame.

*/

public FileDeletionFrame() {

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setBounds(100, 100, 450, 300);

contentPane = new JPanel();

contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

contentPane.setLayout(new BorderLayout(0, 0));

setContentPane(contentPane);

JPanel choosePanel = new JPanel();

contentPane.add(choosePanel, BorderLayout.NORTH);

JLabel label = new JLabel("\u9009\u62E9\u7684\u6587\u4EF6\u5939\uFF1A");

choosePanel.add(label);

textField = new JTextField();

choosePanel.add(textField);

textField.setColumns(15);

JButton button = new JButton("\u9009\u62E9");

button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

do_button_actionPerformed(e);

}

});

choosePanel.add(button);

JScrollPane scrollPane = new JScrollPane();

contentPane.add(scrollPane, BorderLayout.CENTER);

textArea = new JTextArea();

scrollPane.setViewportView(textArea);

JPanel buttonPanel = new JPanel();

contentPane.add(buttonPanel, BorderLayout.SOUTH);

JButton deleteButton = new JButton("\u5220\u9664");

deleteButton.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

do_deleteButton_actionPerformed(e);

}

});

buttonPanel.add(deleteButton);

JButton closeButton = new JButton("\u5173\u95ED");

closeButton.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

do_closeButton_actionPerformed(e);

}

});

buttonPanel.add(closeButton);

}

protected void do_button_actionPerformed(ActionEvent e) {

JFileChooser chooser = new JFileChooser();// 创建文件选择器

chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);// 限制仅能选择文件夹

chooser.setMultiSelectionEnabled(false);// 禁止多重选择

int result = chooser.showOpenDialog(this);// 打开文件选择器

if (result == JFileChooser.APPROVE_OPTION) {

selectFile = chooser.getSelectedFile();

textField.setText(selectFile.getAbsolutePath());

}

}

private void deleteFile(File root, JTextArea textArea) {

if (root.isFile()) {// 如果是文件则直接删除

root.delete();

textArea.append(root.getAbsolutePath() "\n\r");// 将删除的文件记录到文本区中

} else {

File[] files = root.listFiles();// 获得文件夹中的文件及其子文件夹

for (File file : files) {

if (file.isFile()) {// 如果是文件则直接删除

file.delete();

textArea.append(file.getAbsolutePath() "\n\r");// 将删除的文件记录到文本区中

} else {// 如果是文件夹则进行迭代

deleteFile(file, textArea);

}

}

root.delete();// 删除空文件夹

}

}

protected void do_deleteButton_actionPerformed(ActionEvent e) {

deleteFile(selectFile, textArea);

}

protected void do_closeButton_actionPerformed(ActionEvent e) {

System.exit(0);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值