import java.awt.Color;
import java.io.File;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
public class FileUtils {
/**
* 列出指定文件夹(目录)中的所有文件或者是目录的名称
* @param dir File类型 表示指定的文件夹(目录)
* @return
* @throws IllegalAccessException
*/
public static String[] listDirectory(File dir) throws IllegalAccessException{
//判断dir所关联的文件或目录是否存在
if(!dir.exists()){
//如果不存在那么抛出异常
throw new IllegalAccessException("目录"+dir+"不存在");
}
//判断dir所关联的是否是一个目录
if(!dir.isDirectory()){
throw new IllegalArgumentException(dir+"不是目录");
}
// 用传递进来的File对象调用list()方法获得当前目录(dir)下的所有文件和文件夹的名称(不包括目录)
String[] files =dir.list();
for(String s:files)
System.out.println(dir+"\\"+s);
File[] fileNames = dir.listFiles();
//for(File f:fileNames){
//判断File对象是否是文件,是文件输出名称
//if(f.isFile()){
//System.out.println(f);
return files;
}
/**
* @param args
* @throws IllegalAccessException
*/
public static void main(String[] args) throws IllegalAccessException {
// TODO Auto-generated method stub
final JFrame frm = new JFrame("");
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JList jList = new JList(FileUtils.listDirectory(new File("C:\\Users\\PC\\Desktop\\Java作业5\\soundPlayer\\audio")));
frm.add(jList);
jList.setBackground(Color.BLACK);
jList.setForeground(Color.BLUE);
JMenuBar mbar = new JMenuBar();
frm.setJMenuBar(mbar);
JMenu m1 = new JMenu("files");
JMenu m2 = new JMenu("list");
mbar.add(m1);
mbar.add(m2);
frm.setBounds(400, 200, 200, 300);
frm.setVisible(true);
try {
FileUtils.listDirectory(new File("C:\\Users\\PC\\Desktop\\Java作业5\\soundPlayer\\audio"));
} catch (IllegalAccessException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
}}