zoukankan      html  css  js  c++  java
  • 第五次作业

         这次作业要求以图形用户界面输出文件列表,老师已经讲解了大部分,我只做了很小的添加和改进。还是不足很多吧。

    package proj2;
    
    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,180,220));
    list.setBackground(Color.blue);
    list.setSelectionBackground(new Color(100,80,150));
    list.setSelectionForeground(new Color(140,180,220));
    
    JScrollPane sp = new JScrollPane(list);
    // 
    a.add(sp,BorderLayout.CENTER);
    a.setBounds(400,200,400,200);
    
    a.setVisible(true);
    }
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    
    try {
    FileUtils.listDirectory(new File("D:\"));
    } catch (IllegalAccessException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    
    }
    
    }
    View Code

  • 相关阅读:
    ABP PUT、DELETE请求错误405.0
    Visual Studio Code 通过 Chrome插件Type Script断点调试Angular 2
    Angular 报错 Can't bind to 'formGroup' since it isn't a known property of 'form'
    ABP 用swagger UI测试API报401无权限访问问题
    ABP .Net Core API和Angular前端APP集成部署
    ABP .Net Core API和Angular前端APP独立部署跨域问题(No Access-Control-Allow-Origin)
    Hosts文件实际应用 配置内部服务器提高访问效率和速度
    mysql-proxy实现读写分离
    mysql主从复制-linux版本
    nginx作反向代理,实现负载均衡
  • 原文地址:https://www.cnblogs.com/vanilla1996/p/5396664.html
Copyright © 2011-2022 走看看