java兴趣随笔--列出目录下的文件
最近开始想写点东西,但又不知道怎么写法,干脆就先从自己空闲时间弄的东西开始写随笔吧,算是记录、也算是督促自己不要懈怠充电。希望可以一直坚持下去????
package Test;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import javax.swing.*;
//列出目录下的文件
public class Demo_ListFile extends JFrame {
JTextField jtfPath; //路径输入文本域
JTextArea jtfShow; //显示目录下的内容
public Demo_ListFile() {
super("列出目录下的文件");
Container container = getContentPane(); //得到容器
jtfPath = new JTextField(16); //实例化路径输入文本框
JButton jbGo = new JButton("转到"); //实例化“转到”按钮
jtfShow = new JTextArea(); //实例化显示内容文本框
jtfPath.addActionListener(new ShowDirListener()); //增加事件处理
jbGo.addActionListener(new ShowDirListener());
JPanel panel = new JPanel(); //实例化面板,用于增加路径输入域和按钮
panel.add(jtfPath);
panel.add(jbGo);
container.add(panel, BorderLayout.NORTH); //增加组件到容器
JScrollPane jsp = new JScrollPane(jtfShow);
jsp.setBorder(BorderFactory.createEmptyBorder(50, 50, 50, 50)); //设置边界
container.add(jsp, BorderLayout.CENTER); //设置居中
setSize(600,500); //设置窗口尺寸
setVisible(true); //设置窗口可视
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序
}
//取得目录内容的事件处理
class ShowDirListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
showDirContent(jtfPath.getText()); //调用显示目录内容方法
}
}
//该方法实现取得目录内容
private void showDirContent(String path) {
// TODO Auto-generated method stub
File file = new File(path); //用路径实例化一个文件对象
File[] files = file.listFiles(); //重点:取得目录内所有文件列表
StringBuffer message = new StringBuffer(); //实例化一个StringBuffer,用于处理显示的字符串
message.append(path); //增加信息
message.append(" 内容如下: \n");
for(int i = 0; i < files.length; i++) {
//判断是否为一个目录
if(files[i].isDirectory()){
message.append("<dir>\t"); //增加目录标识
}else {
message.append("\t");
}
message.append(files[i].getName());
message.append("\n");
}
jtfShow.setText(new String(message)); //显示消息
}
public static void main(String[] args) {
new Demo_ListFile();
}
}
执行下就可以跑出来了