:'(,从开始学到现在,编译java产生不少.class文件,甚至比java文件还多。本人看着心烦,就编写了一个可视化程序删除指定目录中删除指定文件类型的文件。打成了jar包,可以双击执行。后来,才发现dos命令行就可以删除某个目录下的文件如del *.class。:'( 。不过在编写这个程序也让我学习了不少,这个程序涉及到了io,gui,迭代知识。下面是我的程序截图:
我现在解决不了的问题就是,迭代查找文件的时候,删除一个文件,弹出一个对话框,提示删除成功。请大家指教下,怎么解决。
删除一个弹出一个。:'(
下面是我编写的代码,请大家指教下:
- package delete;
- /*
- 删除指定文件类型的文件
- 结合了IO,GUI,迭代知识
- 可以用dos命令删除,del *.class
- */
- import java.io.*;
- import java.awt.*;
- import java.awt.event.*;
- class DeleteFile
- {
- //窗体的定义
- private Frame delFrame;
- private TextField dirText,fileText;
- private Button delB;
- //对话框的定义
- private Dialog dialog;
- private Label label;
- DeleteFile()
- {
- init();
- }
- private void init()//初始化窗体
- {
- delFrame = new Frame("删除多个目中指定文件类型的文件");
-
- delFrame.setBounds(300,200,400,200);
- delFrame.setLayout(new FlowLayout());
-
- dirText = new TextField(20);
- fileText = new TextField(20);
- delB = new Button("删除");
- dirText.setText("请输入目录");
- fileText.setText("请输入删除的文件类型");
- delFrame.add(dirText);
- delFrame.add(fileText);
- delFrame.add(delB);
- event();
- delFrame.setVisible(true);
- }
- private void event()//窗体中所使用的事件
- {
- delFrame.addWindowListener(new WindowAdapter()
- {
- public void windowClosing(WindowEvent we)
- {
- System.exit(0);
- }
- });
- delB.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent ae)
- {
-
- String dirPath=dirText.getText();
- String fileType=fileText.getText();
- File dir = new File(dirPath);
- if(!(dir.exists()))
- {
-
- makeDialog("请输入正确的目录信息");
- }
- else
- {
- delete(dir,fileType);
- }
- }
- });
-
- }
- private void delete(File dir,String fileType)//迭代删除文件操作
- {
- File[] files = dir.listFiles();
- for(File file:files)
- {
- if(file.isDirectory())
- delete(file,fileType);
- else
- {
- File f = file;
- String name = f.getName();
- if(name.endsWith(fileType))
- f.delete();
- }
- }
- makeDialog("删除成功");//这里有点问题,每次迭代都要输出删除成功
- }
- private void makeDialog(String str)//创建对话框,文本对象
- {
- dialog = new Dialog(delFrame,"提示",true);
- dialog.setBounds(400,250,160,100);
- label = new Label(str);
- dialog.add(label);
- dialog.addWindowListener(new WindowAdapter()
- {
- public void windowClosing(WindowEvent we)
- {
- dialog.setVisible(false);
- }
- });
- dialog.setVisible(true);
- }
- public static void main(String[] args)//main
- {
- new DeleteFile();
- }
- }
复制代码
|
|