java gui 文件操作:创建与删除

文件操作:创建与删除

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}
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

java gui 文件操作:创建与删除 - HelloWorld