1、package testrecursion;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.io.File;
import java.io.IOException;
impo
2、rt java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import .Socket;
import .UnknownHostException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import
3、javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
/**
* 聊天窗口类
*
* @author zhouyou v1.0 2011-11-16
*/
public class Test2 extends JFrame {
JTextArea jta_chat = new JTextArea();
JScrollPane jsp = new JScrollPane(jta
4、chat);
JTextArea jta_send = new JTextArea();
JButton btn = new JButton("扫描");
public Test2() {
this.setSize(400, 400);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(3);
this.add(jsp);
JPanel panel = new JPanel(new BorderLayout());
this.add(panel, Border
5、Layout.SOUTH);
panel.add(jta_send);
panel.add(btn, BorderLayout.EAST);
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// System.out.println(Thread.currentThread().getName());
new MyThread().start();
}
});
}
6、
class MyThread extends Thread{
public void run(){
//文件选择器
JFileChooser jfc = new JFileChooser();
//只能选择文件夹
jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
jfc.showOpenDialog(Test2.this);
//拿到选中的文件
File file = jfc.getSelectedFile();
// File file = new
7、 File(jta_send.getText());
showFiles(file);
}
}
/**
* 扫描文件夹的子文件夹以及孙文件夹
* @param file
*/
public void showFiles(File file){
File[] files = file.listFiles();
if (files != null) {
for (int i = 0; i < files.length; i++) {
File childFile = files[i];
//如果是文件 ,就直接显示
if(childFile.isFile()){
jta_chat.append(childFile.toString()+"\n");
}else{
//如果是文件夹,就调用自己继续往下找
showFiles(childFile);
}
}
}
}
public static void main(String[] args) {
new Test2().setVisible(true);
}
}