File类+GUI+AWT
指定一个文件夹,遍历里面的所有.java文件,使用图形用户界面输入路径,并统计.java文件的数量
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.io.File;
import java.io.IOException;
public class Test51{
public static int count=0;
public static void main(String []args){
JFrame jf=new JFrame();
jf.setTitle("统计文件窗体");
jf.setSize(500,300);
jf.setLayout(null);
jf.setLocationRelativeTo(null);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel labtitle=new JLabel("统计文件");
labtitle.setBounds(200,30,100,20);
jf.add(labtitle);
JLabel lab=new JLabel("请输入指定文件夹的抽象路径名:");
lab.setBounds(10,70,200,30);
jf.add(lab);
JTextField txt=new JTextField();
txt.setBounds(230,70,170,30);
jf.add(txt);
JButton btn=new JButton("显示文件");
btn.setBounds(100,120,100,30);
jf.add(btn);
btn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
String path=txt.getText();
File f=new File(path);
Test51.show(f);
}
});
JButton btncount=new JButton("统计个数");
btncount.setBounds(230,120,100,30);
jf.add(btncount);
jf.setVisible(true);
btncount.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.out.println("一共有"+count+"个java文件");
}
});
}
public static void show(File ff){
boolean iden=ff.isFile();
if(iden){
String path=ff.getPath();
String name=ff.getName();
int index=name.indexOf(".");
String diff=name.substring(index+1);
if(diff.equals("java")){
count++;
System.out.println("文件名:"+name+"路径名:"+path);
}
}else{
File []arr=ff.listFiles();
if(arr!=null){
for(int i=0;i<arr.length;i++){
File file=arr[i];
show(file);
}
}
}
}
}