• java第五次作业


    package haha;

    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 FileUtils {

    /**

    • 列出指定目录下的所有文件和子目录的名称
    • @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.yellow);
    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("E:"));
    } catch (IllegalAccessException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    }

    }

  • 相关阅读:
    Ansible命令介绍之ansible
    Ansible命令介绍
    Ansible配置文件讲解
    博客搬家。新博客地址 http://fangjian0423.github.io/
    SpringMVC源码分析系列
    MyBatis拦截器原理探究
    通过源码分析MyBatis的缓存
    ThreadLocal原理及其实际应用
    logstash搭建日志追踪系统
    Mybatis解析动态sql原理分析
  • 原文地址:https://www.cnblogs.com/zhangxin2016/p/5396776.html
Copyright © 2020-2023  润新知