基于javaSwing的文件TXT复制

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
/**第五次作业
 * 编写GUI 程序,程序运行时界面如下图。功能:在文本框中分别输入源文件和目标文件的路径文件名,单击“确定”按钮实现文件复制。
 */
public class FileCope {
    public static void main(String[] args) {
        //创建JFram实例
        JFrame frame = new JFrame("文件上传");
        frame.setSize(500,400);
        frame.setLocationRelativeTo(null);//窗口显示在中央
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //面板
        JPanel panel = new JPanel();


        //组件

        JLabel source = new JLabel("源文件");
        JLabel tagger = new JLabel("目标文件");
        source.setBounds(40,20,80,25);
        tagger.setBounds(80,20,80,25);
        JTextField sourceText = new JTextField(35);
        JTextField taggerText = new JTextField(35);
        JButton bt1 = new JButton("复制");
        JButton bt2 = new JButton("取消");
        panel.add(source);

        panel.add(sourceText);
        panel.add(tagger);
        panel.add(taggerText);
        panel.add(bt1);
        panel.add(bt2);
        frame.add(panel);
        frame.setVisible(true);

        bt1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {

                String text1 = sourceText.getText();
                String text2 = taggerText.getText();
                fileCope(text1,text2);
            }
        });
        bt2.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                 sourceText.setText("");
                 taggerText.setText(" ");
            }
        });



        //fileCope();
    }
    public static  void fileCope(String text1,String text2){
        File file1 = new File(text1);
        File file2 = new File(text2);

        InputStream fis = null;
        OutputStream fos = null;
        try {
            if (!file1.exists()){
                file1.createNewFile();
            }
            if (!file1.exists()){
                file2.createNewFile();
            }
            //1.创建输入流和输出流
            fis = new FileInputStream(file1);
            fos = new FileOutputStream(file2);
            //2.使用输入流和输出流完成文件的复制
            int n;//定义一个中转站
            n = fis.read();//读一个字节
            while (n != -1) {
                //写一个字节
                fos.write(n);
                //再读一个字节
                n = fis.read();
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            //3.关闭输入流和输出流
            try {
                fis.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            try {
                fos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }

        }

    }
}

你可能感兴趣的:(javaSE-Swing,java)