• 迟到的第14周作业


    一、题目

    编写一个应用程序,输入一个目录和一个文件类型,显示该目录下符合该类型的所有文件。之后,将这些文件中的某一个文件剪切到另外一个目录中。

    二、源代码

    package TewntyFiveth;
    /*
     * 
     * 文件通过textfiled模块接受信息,然后根据不同的button按钮来进行不同的具体方法实现
     * 
     * 
     * 
     */
    
    import java.awt.EventQueue;
    
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.border.EmptyBorder;
    import javax.swing.JLabel;
    import javax.swing.JTextField;
    import javax.swing.JButton;
    import javax.swing.JTextArea;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    import java.io.BufferedInputStream;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileWriter;
    import java.io.FilenameFilter;
    import java.io.InputStream;
    import java.io.Writer;
    
    @SuppressWarnings("serial")
    public class Test extends JFrame {
    
        private JPanel contentPane;
        private JTextField textField;
        private JTextField textField_1;
        private JTextArea textArea;
        private JLabel label_2;
        private JTextField textField_2;
        private JButton button_1;
        private JTextField textField_3;
    
        class Ff implements FilenameFilter {
            String str = null;
    
            Ff(String str) {
                this.str = str;
            }
    
            public boolean accept(File dir, String name) {
                return name.endsWith(str);
            }
        }
    
        /**
         * Launch the application.
         */
        public static void main(String[] args) {
            EventQueue.invokeLater(new Runnable() {
                public void run() {
                    try {
                        Test frame = new Test();
                        frame.setVisible(true);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            });
        }
    
        /**
         * Create the frame.
         */
        public Test() {
            setTitle("u6587u4EF6u7B80u5355u64CDu4F5C");
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setBounds(100, 100, 450, 650);
            contentPane = new JPanel();
            contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
            setContentPane(contentPane);
            contentPane.setLayout(null);
    
            JLabel label = new JLabel("u8F93u5165u6587u4EF6u8DEFu5F84uFF1A");
            label.setBounds(43, 85, 105, 15);
            contentPane.add(label);
    
            textField = new JTextField();
            textField.setBounds(138, 82, 192, 21);
            contentPane.add(textField);
            textField.setColumns(10);
    
            JLabel label_1 = new JLabel("u6587u4EF6u540Eu7F00u540DuFF1A");
            label_1.setBounds(43, 152, 72, 15);
            contentPane.add(label_1);
    
            textField_1 = new JTextField();
            textField_1.setBounds(138, 149, 192, 21);
            contentPane.add(textField_1);
            textField_1.setColumns(10);
    
            JButton button = new JButton("u67E5u8BE2");
            button.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent arg0) {                        //显示文件目录下的所有匹配文件名称
                    File f = new File(textField.getText());
                    FilenameFilter Filename = new Ff(textField_1.getText());
                    String str[] = f.list(Filename);
                    for (int i = 0; i < str.length; i++) {
                        textArea.append(str[i] + "	
    ");
                    }
                }
            });
            button.setBounds(147, 210, 93, 23);
            contentPane.add(button);
    
            textArea = new JTextArea();
            textArea.setBounds(43, 252, 340, 178);
            contentPane.add(textArea);
    
            label_2 = new JLabel("u6587u4EF6u8F6Cu79FBu8DEFu5F84uFF1A");
            label_2.setBounds(43, 516, 93, 15);
            contentPane.add(label_2);
    
            textField_2 = new JTextField();
            textField_2.setBounds(138, 467, 192, 21);
            contentPane.add(textField_2);
            textField_2.setColumns(10);
    
            button_1 = new JButton("u64CDu4F5C");
    
            button_1.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent arg0) {                        //获取textfiled值,将不同的字符拼接组成路径,然后复制读取文件并写入新的文件里
                    File readf = new File(textField.getText()+ textField_2.getText());
                    File writef = new File(textField_3.getText()+ textField_2.getText());
                    InputStream in = null;
                    BufferedInputStream bin = null;
                    Writer w = null;
                    BufferedWriter bw = null;
                    String Sget = new String();
                    try {
                        in = new FileInputStream(readf);
                        bin = new BufferedInputStream(in);
                        byte[] b = new byte[1024];
                        int count = 0;
                        while ((count = bin.read(b, 0, 1024)) != -1) {
                            Sget = new String(b, 0, count);
                            // System.out.println(new String(b,0,count));
                        }
                        if (!writef.exists()) {// 判断文件夹是否创建,没有创建则创建新文件
                            writef.createNewFile();
                        }
                        //System.out.println(writef);
                        w = new FileWriter(writef);
                        bw = new BufferedWriter(w);
                        // Scanner sc=new Scanner(System.in);
                        // String s=sc.nextLine();
                        bw.write(Sget);
                    } catch (Exception e) {
                        // TODO: handle exception
                        e.printStackTrace();
                    } finally {
                        try {
                            bin.close();
                            in.close();
                            bw.close();
                            w.close();
                            readf.delete();
                        } catch (Exception e) {
                            // TODO: handle exception
                            e.printStackTrace();
                        }
                    }
    
                }
            });
            button_1.setBounds(147, 552, 93, 23);
            contentPane.add(button_1);
    
            JLabel lblNewLabel = new JLabel(
                    "u9700u8F6Cu79FBu6587u4EF6u540Du79F0:");
            lblNewLabel.setBounds(43, 470, 93, 15);
            contentPane.add(lblNewLabel);
    
            textField_3 = new JTextField();
            textField_3.setBounds(138, 513, 192, 21);
            contentPane.add(textField_3);
            textField_3.setColumns(10);
        }
    }

    三、运行结果

  • 相关阅读:
    Tomcat配置和Spring MVC配置
    Servlet学习总结
    Servlet 工作原理
    Spring MVC
    Spring的线程安全
    Struts的线程安全
    反射实现AOP动态代理
    Spring AOP的实现原理
    JAVA基础加强(张孝祥)_类加载器、分析代理类的作用与原理及AOP概念、分析JVM动态生成的类、实现类似Spring的可配置的AOP框架
    Spring bean初始化以及管理
  • 原文地址:https://www.cnblogs.com/himurayaiba/p/12000734.html
Copyright © 2020-2023  润新知