javaWeb_新闻发布

1、创建序列#
 create sequence 序列名
 increment by 1
 start with 1
 maxvalue 999999999;
 


2、创建触发器#
 create or replace trigger 触发器名
   before 
      insert on 表名
   for each row
 declare
   -- local variables here
 begin
   SELECT 序列名.Nextval  INTO :NEW.自增列 FROM DUAL;
 end 触发器名;

案例

package com.zking.work;
 
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Vector;
 
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
 
public class FileDemo extends JFrame {
 
	// 上
	private JPanel jpa = new JPanel();
	private JLabel jla = new JLabel("路径");
	private JTextField jtfa = new JTextField(15);
	private JButton jba = new JButton("请选择文件");
	private JButton jbb = new JButton("搜索");
	// 中
	private DefaultTableModel dtm = new DefaultTableModel();
	private JTable jta = new JTable(dtm);
	private JScrollPane jsp = new JScrollPane(jta);
	// 下
	private JPanel jpb = new JPanel();
	private JButton jbc = new JButton("删除所有txt文件");
	private JButton jbd = new JButton("删除所有小于5KB的文件");
	private JButton jbe = new JButton("删除最近一个月内的文件");
 
	public FileDemo() {
		this.setTitle("文件管理器");
		this.setSize(700, 400);
		this.setDefaultCloseOperation(3);
		this.setLocationRelativeTo(null);
 
		// 上
		jtfa.setEditable(false);
		jtfa.setText("D:\\Zking_course");//默认设置输入框中的值  给定一个路径
		jpa.add(jla);
		jpa.add(jtfa);
		jpa.add(jba);
		jpa.add(jbb);
		// 中
		dtm.addColumn("文件路径");
		dtm.addColumn("文件名称");
		dtm.addColumn("文件扩展名");
		dtm.addColumn("文件大小(KB)");
		dtm.addColumn("最后修改时间");
		
		tableClearData();
		//默认要显示输入框中的路径下的所有文件信息
		String path = jtfa.getText();
		File file = new File(path);
		findFileAll(file);
 
		// 下
		jpb.add(jbc);
		jpb.add(jbd);
		jpb.add(jbe);
 
		// 上
		this.getContentPane().add(jpa, "North");
		// 中
		this.getContentPane().add(jsp, "Center");
 
		// 下
		this.getContentPane().add(jpb, "South");
		
		/**
		 * 文件选择器的点击事件
		 */
		jba.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				//实例化JFileChooser;
				JFileChooser jfc = new JFileChooser();
				//文件选择器默认选中只能是文件,需求中:选中文件夹
				jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
				jfc.showDialog(null, "请选择目录");//控制展示
				File selectedFile = jfc.getSelectedFile();
				if(null!=selectedFile) {
					//将选中的目录设置到对应的输入框中
					jtfa.setText(selectedFile.getPath());
				}
			}
		});
		
		
		/**
		 *搜索文件目录的点击事件
		 */
		jbb.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				//清除
				tableClearData();
				//获取之前选中的路径在jtfa中
				String filePath = jtfa.getText();
				File file = new File(filePath);
				findFileAll(file);
			}
		});
		
		
		/**
		 * 删除所有txt文件的点击事件
		 */
		jbc.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				
				//获取之前选中的路径在jtfa中
				String filePath = jtfa.getText();
				File file = new File(filePath);
				
				delTxtAll(file);
				
				tableClearData();
				
				findFileAll(file);
				
			}
		});
		
		/**
		 * 删除所有小于5KB文件的点击事件
		 */
		jbd.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				
				//获取之前选中的路径在jtfa中
				String filePath = jtfa.getText();
				File file = new File(filePath);
				
				del5KBAll(file);
				
				tableClearData();
				
				findFileAll(file);
				
			}
		});
		this.setVisible(true);
	}
 
	/**
	 * 方法功能:封装清除上一次表格中显示的所有行
	 */
	public void tableClearData() {
		int rowsCount = jta.getRowCount();
		for (int i = 0; i < rowsCount; i++) {
			dtm.removeRow(0);
		}
	}
	
	
	
	/**
	 * 方法功能:显示某目录下的所有文件
	 * @param File file 文件对象
	 */
	public void findFileAll(File file) {
		
		//判断是文件还是文件夹
		if(file.isFile()) {//文件
			//文件路径
			String filePath = file.getPath();
			//文件名
			String fileName = file.getName();
			//文件扩展名
			String zh = "";
			int index = fileName.lastIndexOf(".");
			if(index!=-1) {//说明这个文件名有"."
				zh = fileName.substring(index);
			}else {//说明这个文件名没有"."
				zh = "无后缀名";
			}
//			System.out.println("文件的后缀有: "+zh);
			
			//文件大小(Byte)
			long len = file.length();
			double fileLength = len/1024.0;
			
			//文件的最后修改时间
			long lastModified = file.lastModified();
			Date date = new Date(lastModified);
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			String mydate = sdf.format(date);
			
			//新建Vector
			Vector<Object> vc = new Vector<Object>();
			vc.add(filePath);
			vc.add(fileName);
			vc.add(zh);
			vc.add(fileLength);
			vc.add(mydate);
			
			dtm.addRow(vc);
			
		}else if(file.isDirectory()) {//是文件夹
			//通过listFile方法得到该文件夹下的所有文件信息(文件夹+文件)
			File[] listFiles = file.listFiles();
			//系统文件判断排除
			if(listFiles == null) {
				return;
			}
			//遍历
			for (File file2 : listFiles) {
				//调用方法本身重新验证每个file2就是是文件还是文件夹
				findFileAll(file2);
			}
		}
	}
		
	
	/**
	 * 方法功能:删除所有txt文件
	 * @param args
	 */
	public void delTxtAll(File file) {
		if(file.isFile()) {//文件
			String fileName = file.getName();//获取文件名
			int index = fileName.lastIndexOf(".");
			if(-1!=index) {//筛选无后缀名的文件
				String hz = fileName.substring(index);
				if(hz.equals(".txt")) {
					file.delete();
				}
			}
		}else if(file.isDirectory()) {
			File[] listFiles = file.listFiles();
			for (File file2 : listFiles) {
				delTxtAll(file2);
			}
		}
	}
	
	/**
	 * 方法功能:删除所有小于5KB的文件
	 * @param file
	 */
	public void del5KBAll(File file) {
		if(file.isFile()) {//文件
			long len = file.length();
			double fileLength = len/1024.0;
			if(fileLength < 5) {
				file.delete();
			}
		}else if(file.isDirectory()) {
			File[] listFiles = file.listFiles();
			for (File file2 : listFiles) {
				delTxtAll(file2);
			}
		}
	}
	
	
	
	public static void main(String[] args) {
		new FileDemo();
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值