文件操作:创建与删除
1package com.wt010.file; 2 3import java.awt.BorderLayout; 4import java.awt.FlowLayout; 5import java.awt.GridLayout; 6import java.awt.event.ActionEvent; 7import java.awt.event.ActionListener; 8import java.io.File; 9import java.io.IOException; 10 11import javax.swing.JButton; 12import javax.swing.JComboBox; 13import javax.swing.JFrame; 14import javax.swing.JOptionPane; 15import javax.swing.JPanel; 16import javax.swing.JScrollPane; 17import javax.swing.JTextArea; 18import javax.swing.JTextField; 19 20/** 21 * @author konecms 22 * @date 2018年1月31日 下午5:02:24 23 * 24 */ 25public class FileCreateAndDeleteUtil extends JFrame implements ActionListener{ 26 27 private JButton btnCreate,btnDelete; 28 private JTextField txtFile; 29 private JComboBox cmb; 30 public FileCreateAndDeleteUtil() { 31 // TODO Auto-generated constructor stub 32 init(); 33 } 34 public void init() { 35 fr(); 36 } 37 public void fr() { 38 this.setTitle("文件创建与删除"); 39 this.setResizable(false); 40 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 41 this.setLocationRelativeTo(null); 42 BorderLayout bl=new BorderLayout(); 43 FlowLayout fl=new FlowLayout(); 44 GridLayout gl=new GridLayout(2,1); 45 JPanel jp1=new JPanel(); 46 JPanel jp2=new JPanel(); 47 this.setLayout(bl); 48 jp1.setLayout(fl); 49 jp2.setLayout(fl); 50 51 52 getContentPane().add("North",jp1); 53 getContentPane().add("Center",jp2); 54 cmb=new JComboBox(); 55 File[] files=File.listRoots(); 56 for(int i=0;i<files.length;i++) { 57 if(!files[i].toString().equals("C:\\")&&!files[i].toString().equals("D:\\")) 58 cmb.addItem(files[i]); 59 } 60 jp1.add(cmb); 61 txtFile=new JTextField(20); 62 jp1.add(txtFile); 63 btnCreate=new JButton("创建文件");btnCreate.addActionListener(this); 64 btnDelete=new JButton("删除文件");btnDelete.addActionListener(this); 65 jp1.add(btnCreate);jp1.add(btnDelete); 66 67 JTextArea ta=new JTextArea(15,40); 68 JScrollPane sp=new JScrollPane(ta); 69 jp2.add(sp); 70 } 71 72 public void actionPerformed(ActionEvent e) { 73 // TODO Auto-generated method stub 74 Object source=e.getSource(); 75 String filename=txtFile.getText(); 76 String root=cmb.getSelectedItem().toString(); 77 78 if(filename.equals("")) { 79 JOptionPane.showMessageDialog(this, "请输入需要文件或目录名称 。 "); 80 return; 81 } 82 filename=root+filename; 83 84 if(source==btnDelete) { 85 boolean bl=delete(filename); 86 if(bl) 87 JOptionPane.showMessageDialog(this, "删除成功 ! "); 88 else 89 JOptionPane.showMessageDialog(this, "删除失败 ! "); 90 } 91 if(source==btnCreate) { 92 File file=new File(filename); 93 if(file.exists()) { 94 JOptionPane.showMessageDialog(this, "文件已经存在 。"); 95 return; 96 } 97 try { 98 file.createNewFile(); 99 } catch (IOException e1) { 100 // TODO Auto-generated catch block 101 e1.printStackTrace(); 102 } 103 } 104 } 105 public boolean delete(String filename) { 106 File file=new File(filename); 107 if(!file.exists()) { 108 return false; 109 } 110 if(file.isDirectory()) { 111 return deleteDirectory(filename); 112 } 113 if(file.isFile()) { 114 return deleteFile(filename); 115 } 116 return false; 117 } 118 public boolean deleteDirectory(String dirFile2) { 119 File file=new File(dirFile2); 120 File[] dirFile=file.listFiles(); 121 for(int i=0;i<dirFile.length;i++) { 122 if(dirFile[i].isFile()) { 123 deleteFile(dirFile[i].getAbsolutePath()); 124 } 125 if(dirFile[i].isDirectory()) { 126 deleteDirectory(dirFile[i].getAbsolutePath()); 127 } 128 } 129 if(file.delete()) { 130 return true; 131 } 132 return false; 133 134 135 } 136 public boolean deleteFile(String filename) { 137 File file=new File(filename); 138 if(file.delete()) 139 return true; 140 else 141 return false; 142 } 143 144 public static void main(String[] args) { 145 FileCreateAndDeleteUtil util=new FileCreateAndDeleteUtil(); 146 util.setVisible(true); 147 util.pack(); 148 } 149}