博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA作业(5)
阅读量:6305 次
发布时间:2019-06-22

本文共 3077 字,大约阅读时间需要 10 分钟。

      通过近期学习,我学会了用程序来读取磁盘内的文件,并将它运行结果显示在自己做的GUI上面,在GUI里还做了一个下拉菜单,里面的写着不同文件的类型,暂时还没有完成通过选择不同类型文件使方框内筛选出各自的文件这个事件处理,但会继续跟进,此次代码如下

import java.awt.BorderLayout;import java.awt.Color;import java.io.File;import javax.swing.JComboBox;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JList;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextArea;public class Fileutils {    public static class FileUtils{        /**         * 列出指定目录下的所有文件和子目录的名称         * @throws IllegalAccessException          */    public static void listDirectory(File dir) throws IllegalAccessException{                        JFrame frm= new JFrame();        frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        frm.setLayout(new BorderLayout());        String[] likes ={".txt",".ppt",".jpg",".docx"};        JComboBox l1=new JComboBox(likes);        frm.add(l1, BorderLayout.NORTH);                 //        JTextArea j1=new JTextArea();                frm.setBounds(500,300,300,400);                     frm.setVisible(true);                                                //判断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[] fileNames = dir.list();        //第一种输出方式//        for(String s : fileNames){//            j1.append(dir+"\\"+s);//            j1.append("\n");//            j1.setEditable(false);//            //            //System.out.println(dir+"\\"+s);//        }             JList jl =new JList(fileNames);         jl.setForeground(new Color(140,171,226));         jl.setBackground(new Color(0,0,0));         jl.setSelectionBackground(new Color(87,49,134));         jl.setSelectionForeground(new Color(140,171,226));         JScrollPane sp=new JScrollPane(jl);         //            sp.setViewportView(jl);//             System.out.println();        //使用ListFiles()方法实现只列出目录下的所有文件名称//        sp.setBackground(Color.YELLOW);        frm.add(sp,BorderLayout.CENTER);                //第二种输出方式//        File[] files=dir.listFiles();//        for(File file:files){//            //如果是文件,则输出//        //            if(file.isFile()){//                j1.append(dir+"\\"+file);//                j1.append("\n");//                j1.setEditable(false);    //            System.out.println(file);//        }//            }//            }                    }    /**     * @param args     */    public static void main(String[] args) {                // TODO Auto-generated method stub        try {                        FileUtils.listDirectory(new File("F:\\壁纸"));        } catch (IllegalAccessException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}

运行效果图如下:

转载于:https://www.cnblogs.com/jizehui/p/5395100.html

你可能感兴趣的文章
Oracle 连接、会话数的查看,修改
查看>>
Python使用QRCode模块生成二维码
查看>>
英语学习的重要性
查看>>
Android中Handler引起的内存泄露
查看>>
原产地政策,jsonp跨域
查看>>
HDU 1143 Tri Tiling(递归)
查看>>
ffmpeg参数具体解释
查看>>
记一次公司仓库数据库服务器死锁过程
查看>>
Oracle 11g password过期被锁定报道 ORA-28000 the account is locked
查看>>
【Struts2学习笔记(2)】Action默认值和配置Action于result各种转发类型
查看>>
轨磁条简介
查看>>
(算法)交错的字符串
查看>>
hdu 5471(状压DP or 容斥)
查看>>
oracle.jdbc.driver.OracleDriver和oracle.jdbc.OracleDriver这两个驱动的区别
查看>>
NSQ部署
查看>>
git常用命令记录
查看>>
IBM发布新一代云计算工具包MobileFirst Foundation
查看>>
唯品会HDFS性能挑战和优化实践
查看>>
大规模学习该如何权衡得失?解读NeurIPS 2018时间检验奖获奖论文
查看>>
大厂前端高频面试问题与答案精选
查看>>