第五次作业
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();
}
}
}