简易文件管理器

    xiaoxiao2021-03-25  120

    package d; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JTextField; import javax.swing.filechooser.FileNameExtensionFilter; public class Document extends JFrame { public static void main(String args[]) { Document document = new Document(); document.Document(); } boolean flag1 = true; // 定义复制组件 JLabel jlabel1 = new JLabel("拷贝"); JLabel jlabel2 = new JLabel("源路径"); JLabel jlabel3 = new JLabel("目标路径"); JTextField jtf1 = new JTextField(); JTextField jtf2 = new JTextField(); JButton jb1 = new JButton("选择"); JButton jb2 = new JButton("选择"); JButton jb3 = new JButton("拷贝"); // 定义修改组件 JLabel jlabel4 = new JLabel("修改文件"); JLabel jlabel5 = new JLabel("修改目标"); JLabel jlabel6 = new JLabel("修改内容"); JLabel jlabel7 = new JLabel("→"); JTextField jtf3 = new JTextField(); JTextField jtf4 = new JTextField(); JTextField jtf5 = new JTextField(); JButton jb4 = new JButton("修改"); // 定义删除组件 JLabel jlabel8 = new JLabel("删除文件"); JLabel jlabel9 = new JLabel("删除路径"); JTextField jtf6 = new JTextField(); JButton jb5 = new JButton("选择"); JButton jb6 = new JButton("删除"); // 定义生成组件 JLabel jlabel10 = new JLabel("新建文本"); JLabel jlabel11 = new JLabel("文本保存路径"); JButton jb7 = new JButton("选择"); JTextField jtf7 = new JTextField(); JLabel jlabel12 = new JLabel("文本内容"); JTextField jtf8 = new JTextField(); JButton jb8 = new JButton("生成"); public void Document() { this.setTitle("简易文件管理器"); this.setLocationRelativeTo(null); this.setLayout(null); this.setDefaultCloseOperation(3); this.setSize(400, 400); // ****拷贝功能 jlabel1.setBounds(160, 0, 100, 20); jlabel2.setBounds(20, 22, 40, 30); jlabel3.setBounds(20, 55, 60, 30); jtf1.setBounds(80, 22, 140, 30); jtf2.setBounds(80, 55, 140, 30); jb1.setBounds(240, 22, 60, 20); jb2.setBounds(240, 55, 60, 20); jb3.setBounds(310, 36, 60, 30); this.add(jb1); this.add(jb2); this.add(jb3); this.add(jtf1); this.add(jtf2); this.add(jlabel1); this.add(jlabel2); this.add(jlabel3); // *******修改功能 jlabel4.setBounds(150, 88, 100, 20); jlabel5.setBounds(20, 112, 60, 30); jlabel6.setBounds(20, 145, 60, 30); jlabel7.setBounds(184, 145, 60, 30); jtf3.setBounds(80, 112, 200, 30); jtf4.setBounds(80, 145, 100, 30); jtf5.setBounds(200, 145, 100, 30); jb4.setBounds(310, 120, 60, 30); this.add(jlabel4); this.add(jlabel5); this.add(jlabel6); this.add(jlabel7); this.add(jb4); this.add(jtf3); this.add(jtf4); this.add(jtf5); // ****文件删除 jlabel8.setBounds(150, 178, 100, 20); jlabel9.setBounds(20, 203, 60, 30); jtf6.setBounds(80, 203, 170, 30); jb5.setBounds(258, 203, 60, 30); jb6.setBounds(320, 203, 60, 30); this.add(jb5); this.add(jb6); this.add(jlabel8); this.add(jlabel9); this.add(jtf6); // ****添加文本 jlabel10.setBounds(150, 236, 100, 20); jlabel11.setBounds(20, 258, 90, 30); jtf7.setBounds(100, 258, 170, 30); jb7.setBounds(290, 258, 60, 30); jlabel12.setBounds(20, 292, 60, 30); jtf8.setBounds(75, 292, 290, 30); jb8.setBounds(150, 325, 60, 30); this.add(jb7); this.add(jb8); this.add(jtf7); this.add(jtf8); this.add(jlabel10); this.add(jlabel11); this.add(jlabel12); this.setVisible(true); addListenr(); } void addListenr() { // 选择拷贝文件 jb1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // 创建文件选择器 JFileChooser jfc = new JFileChooser(); // 设置文件过滤器 jfc.setFileFilter(new FileNameExtensionFilter("文本格式 - txt", "txt")); // 设置可选择文件或文件夹 jfc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); // 绑定按钮 jfc.showDialog(null, "选择"); // 暂存选择好的文件 File selectedFile = jfc.getSelectedFile(); // 如果有选择文件或文件夹,显示到栏里 if (selectedFile != null) { jtf1.setText(selectedFile.getPath()); } } }); // 选择拷贝目的 jb2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // 创建文件选择器 JFileChooser jfc = new JFileChooser(); // 设置文件过滤器 jfc.setFileFilter(new FileNameExtensionFilter("文本格式 - txt", "txt")); // 设置可选择文件或文件夹 jfc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); // 绑定按钮 jfc.showDialog(null, "选择"); // 暂存选择好的文件 File selectedFile = jfc.getSelectedFile(); // 如果有选择文件或文件夹,显示到栏里 if (selectedFile != null) { jtf2.setText(selectedFile.getPath()); } } }); // 拷贝按钮 jb3.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (jtf1.getText() != null && jtf2.getText() != null) if ((new File(jtf2.getText())).isFile()) { copy(jtf1.getText(), jtf2.getText()); } else if ((new File(jtf2.getText())).isDirectory()) { copy(jtf1.getText(), jtf2.getText() + "\\" + (new File(jtf1.getText())).getName()); } } }); // 修改按钮 jb4.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (jlabel5.getText() != null && (new File(jlabel5.getText())).exists()) { if (jlabel6 != null) { } } } }); // 选择删除文件 jb5.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // 创建文件选择器 JFileChooser jfc = new JFileChooser(); // 设置可选择文件或文件夹 jfc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); // 绑定按钮 jfc.showDialog(null, "选择"); // 暂存选择好的文件 File selectedFile = jfc.getSelectedFile(); // 如果有选择文件或文件夹,显示到栏里 if (selectedFile != null) { jtf5.setText(selectedFile.getPath()); } } }); // 删除按钮 jb6.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO 自动生成的方法存根 File f = new File(jtf5.getText()); delete(f); flag1 = true; } public void delete(File f) { if (f != null && f.exists())// 判断是否存在 { if (f.isDirectory())// 判断是否文件夹 { File[] list = f.listFiles();// 获取子目录列表 if (list.length != 0)// 如果子目录不为空,需要先删除子目录 { for (int i = 0; i < list.length; i++) { // 获取子目录文件 File file = list[i]; // 递归 delete(file); } f.delete(); if (flag1) { flag1 = false; JOptionPane.showMessageDialog(null, "文件已经删除", "提示", 1); } } else // 已经是空文件夹了,自己删除自身 { f.delete(); if (flag1) { flag1 = false; JOptionPane.showMessageDialog(null, "文件已经删除", "提示", 1); } } } else// 不是文件夹而是文件,自己删除 { f.delete(); if (flag1) { flag1 = false; JOptionPane.showMessageDialog(null, "文件已经删除", "提示", 1); } } if (flag1) { flag1 = false; JOptionPane.showMessageDialog(null, "文件已经删除", "提示", 1); } } else { JOptionPane.showMessageDialog(null, "文件不存在", "提示", 1); } } }); jb7.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (jtf3.getText() == null) { } } }); } void copy(String orgin, String aim) { try { FileInputStream fis = new FileInputStream(orgin); FileOutputStream fos = new FileOutputStream(aim); BufferedInputStream bis = new BufferedInputStream(fis); BufferedOutputStream bos = new BufferedOutputStream(fos); int data = bis.read(); while (data != -1) { bos.write(data); data = bis.read(); } bis.close(); bos.close(); fis.close(); fos.close(); } catch (Exception e) { e.printStackTrace(); } } }
    转载请注明原文地址: https://ju.6miu.com/read-25093.html

    最新回复(0)