Java第五周随笔

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.ScrollPane;
import java.io.File;

import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;

public class file {

private static final file FileUtils = null;
/**

列出指定目录下的所有文件和子目录的名称
@throws IllegalAccessException
*/
public static void listDirectory(File dir) throws IllegalAccessException{
//判断File对象dir是否存在,使用File类的exists()方法
if(!dir.exists()){
//如不存在,抛出异常
throw new IllegalAccessException("目录" + dir +"不存在");
}
//判断dir是否是目录,使用File类的isDirectory()方法
if(!dir.isDirectory()){
//如果dir不是目录,抛出异常
throw new IllegalArgumentException(dir + "不是目录");
}
//获得指定目录dir下的文件及子目录并输出(1.list();2.listFiles())
//使用list()方法实现
String[] fileName = dir.list();
for(String s :fileName){
System.out.println(dir+"/"+s);
}
System.out.println();
//使用listFiles()方法实现只列出目录下的所有文件名称
File[] files = dir.listFiles();
for(File file:files){
//如果是文件,则输出
if(file.isFile()){
System.out.println(file);
}
}

JFrame a =new JFrame("文件目录");
a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
a.setLayout(new BorderLayout());
JLabel northLabel = new JLabel("files list");
a.add(northLabel,BorderLayout.NORTH);

JList list = new JList(files);
list.setForeground(new Color(140,200,220));
list.setBackground(Color.white);
list.setSelectionBackground(new Color(100,80,150));
list.setSelectionForeground(new Color(140,200,220));

JScrollPane sp = new JScrollPane(list);
//
a.add(sp,BorderLayout.CENTER);
a.setBounds(400,300,400,300);

a.setVisible(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub

try {
FileUtils.listDirectory(new File("D:"));
} catch (IllegalAccessException d) {
// TODO Auto-generated catch block
d.printStackTrace();
}

}

}

原文地址:https://www.cnblogs.com/dongjiao2016/p/5400737.html