/** Main.java

*

* Created on 2007年11月8日, 上午9:15*/packagetest1;importjava.awt.datatransfer.DataFlavor;importjava.awt.datatransfer.Transferable;importjava.awt.datatransfer.UnsupportedFlavorException;importjava.awt.dnd.DnDConstants;importjava.awt.dnd.DropTarget;importjava.awt.dnd.DropTargetDragEvent;importjava.awt.dnd.DropTargetDropEvent;importjava.awt.dnd.DropTargetEvent;importjava.awt.dnd.DropTargetListener;importjava.io.File;importjava.io.IOException;importjava.text.SimpleDateFormat;importjava.util.Date;importjavax.swing.JFileChooser;importjavax.swing.UIManager;/***

*@authorhadeslee*/publicclassMainextendsjavax.swing.JFrameimplementsDropTargetListener {privateJFileChooser jfc;privateFile toMd5;privateDropTarget dt;/**Creates new form Main*/publicMain() {try{

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

}catch(Exception exe) {

exe.printStackTrace();

}

initComponents();

initOther();this.setLocationRelativeTo(null);

}privatevoidinitOther() {

dt=newDropTarget(jTextArea1, DnDConstants.ACTION_COPY_OR_MOVE,this);

}/**This method is called from within the constructor to

* initialize the form.

* WARNING: Do NOT modify this code. The content of this method is

* always regenerated by the Form Editor.*///privatevoidinitComponents() {

jLabel1=newjavax.swing.JLabel();

jTextField1=newjavax.swing.JTextField();

jButton1=newjavax.swing.JButton();

jScrollPane1=newjavax.swing.JScrollPane();

jTextArea1=newjavax.swing.JTextArea();

jButton2=newjavax.swing.JButton();

jButton3=newjavax.swing.JButton();

jpb=newjavax.swing.JProgressBar();

jLabel2=newjavax.swing.JLabel();

jTextField2=newjavax.swing.JTextField();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setTitle("MD5生成");

setResizable(false);

jLabel1.setText("文件路径:");

jTextField1.setEditable(false);

jButton1.setText("浏览

");

jButton1.addActionListener(newjava.awt.event.ActionListener() {publicvoidactionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

}

});

jScrollPane1.setBorder(javax.swing.BorderFactory.createTitledBorder("文件信息"));

jTextArea1.setColumns(20);

jTextArea1.setRows(5);

jScrollPane1.setViewportView(jTextArea1);

jButton2.setText("生成");

jButton2.addActionListener(newjava.awt.event.ActionListener() {publicvoidactionPerformed(java.awt.event.ActionEvent evt) {

jButton2ActionPerformed(evt);

}

});

jButton3.setText("退出");

jButton3.addActionListener(newjava.awt.event.ActionListener() {publicvoidactionPerformed(java.awt.event.ActionEvent evt) {

jButton3ActionPerformed(evt);

}

});

jLabel2.setText("MD5值:");

jTextField2.setEditable(false);

javax.swing.GroupLayout layout=newjavax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,false)

.addGroup(layout.createSequentialGroup()

.addComponent(jButton2)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jButton3)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jpb, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addGroup(layout.createSequentialGroup()

.addComponent(jLabel2)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jTextField2))

.addComponent(jScrollPane1)

.addGroup(layout.createSequentialGroup()

.addComponent(jLabel1)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE,246, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jButton1)))

.addContainerGap(16, Short.MAX_VALUE))

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel1)

.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jButton1))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE,182, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel2)

.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,11, Short.MAX_VALUE)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)

.addComponent(jButton3)

.addComponent(jpb, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addContainerGap())

.addGroup(layout.createSequentialGroup()

.addGap(267,267,267)

.addComponent(jButton2)

.addGap(10,10,10))

);

pack();

}//privatevoidjButton1ActionPerformed(java.awt.event.ActionEvent evt) {//TODO add your handling code here:if(jfc==null) {

jfc=newJFileChooser();

jfc.setFileSelectionMode(JFileChooser.FILES_ONLY);

}if(jfc.showOpenDialog(this)==JFileChooser.APPROVE_OPTION) {

toMd5=jfc.getSelectedFile();

jTextField1.setText(toMd5.toString());

showFileInfo();

}

}privatevoidjButton2ActionPerformed(java.awt.event.ActionEvent evt) {//TODO add your handling code here:jButton2.setEnabled(false);newThread(){publicvoidrun(){

String s=Util.getMD5(toMd5, jpb);

jTextField2.setText(s);

jButton2.setEnabled(true);

}

}.start();

}privatevoidjButton3ActionPerformed(java.awt.event.ActionEvent evt) {//TODO add your handling code here:System.exit(0);

}privatevoidshowFileInfo() {if(toMd5!=null) {

SimpleDateFormat sdf=newSimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");

File f=toMd5;

StringBuilder sb=newStringBuilder();

sb.append("文件名称:").append(f.getName()).append('\n');

sb.append("文件大小:").append(f.length()).append('\n');

sb.append("文件最后修改日期:").append(sdf.format(newDate(f.lastModified()))).append("\n");

sb.append("文件属性:").append(f.canWrite()?"读写":"只读").append('\n');

jTextArea1.setText(sb.toString());

}

}/***@paramargs the command line arguments*/publicstaticvoidmain(String args[]) {

java.awt.EventQueue.invokeLater(newRunnable() {publicvoidrun() {newMain().setVisible(true);

}

});

}//Variables declaration - do not modifyprivatejavax.swing.JButton jButton1;privatejavax.swing.JButton jButton2;privatejavax.swing.JButton jButton3;privatejavax.swing.JLabel jLabel1;privatejavax.swing.JLabel jLabel2;privatejavax.swing.JScrollPane jScrollPane1;privatejavax.swing.JTextArea jTextArea1;privatejavax.swing.JTextField jTextField1;privatejavax.swing.JTextField jTextField2;privatejavax.swing.JProgressBar jpb;//End of variables declarationpublicvoiddragEnter(DropTargetDragEvent dtde) {

dtde.acceptDrag(DnDConstants.ACTION_COPY_OR_MOVE);

}publicvoiddragOver(DropTargetDragEvent dtde) {

}publicvoiddropActionChanged(DropTargetDragEvent dtde) {

}publicvoiddragExit(DropTargetEvent dte) {

}publicvoiddrop(DropTargetDropEvent e) {try{if(e.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {

Transferable tr=e.getTransferable();

e.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);

@SuppressWarnings("unchecked")

java.util.Listlist=(java.util.List) tr.getTransferData(DataFlavor.javaFileListFlavor);if(list.size()==1) {

File f=list.get(0);if(f.isFile()) {

toMd5=list.get(0);this.showFileInfo();

jTextField1.setText(toMd5.toString());

}

}

e.dropComplete(true);

}else{

e.rejectDrop();

}

}catch( IOException io) {

io.printStackTrace();

e.rejectDrop();

}catch( UnsupportedFlavorException ufe) {

ufe.printStackTrace();

e.rejectDrop();

}

}

}

java 生成 文件 md5_JAVA版文件MD5生成器相关推荐

  1. java生成pdf_Java实现PDF文件生成并且打印pdf文件 demo

    ## Java实现PDF生成并且打印pdf文件(附demo) #### 目录: 0. 效果预览 1. 准备环境 2. Java如何调用打印机进行打印 3. Java如何生成pdf打印文件 4. 实现p ...

  2. Java生成荣誉证书PDF文件

    公司最近新需求要针对已经学完课程的同学提供下载结业证书,我们开发小组通过内部协商最终采用pdf方式让用户进行下载.操作pdf java 一般都是通过itext来实现,由于之前没有使用itext生成pd ...

  3. Java生成和操作Excel文件

    JAVA EXCEL API:是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该API非Windows操作系统也可以通过 ...

  4. 用 java 生成 TexturePacker 的工程文件

    一.主题: 用 java 实现一个自动生成 TexturePacker 工程文件的工具,以提高开发过程中自动化的程度. 二.环境: Mac OS X 1.7.2 TexturePacker 2.4.3 ...

  5. Java生成plist下载ipa文件

    我们在上传ipa想要安装的时候必须要通过plist文件去下载,并且还要遵循 itms-services协议. 意思就是,第一步我们要生成一个plist文件, 第二步生成一个html文件,用来指向pli ...

  6. java计算图片md5_java 计算 文件 md5

    public class MD5Check { /** * 默认的密码字符串组合,用来将字节转换成 16 进制表示的字符,apache校验下载的文件的正确性用的就是默认的这个组合 */     pro ...

  7. java生成 *.crt和*.key文件与*.keystore *.jks文件的转换

    证书格式 名称 含义 .pem Privacy Enhanced Mail的缩写,一般是文本格式,可保存证书,可保存私钥,证书或密钥的Base64文本存储格式,打开看文本格式,以"-–BEG ...

  8. java生成dex_打包jar文件,jar转dex,class转dex等各种转换整理

    打包jar文件 主模块build.gradle根路径加入任务 task makeJar(type: org.gradle.api.tasks.bundling.Jar) { //指定生成的jar名称 ...

  9. java 生成.sh文件,Java 生成Bat或SH文件,调用Sqlldr安插数据到Oracle

    执行流程: 1.从ftp判断文件是否存在 2.下载文件 3.创建ctl文件 4.创建可执行文件,bat或sh文件,文件中是sqlldr命令代码 5.备份表并创建临时表 6.执行文件,插入数据 7.检查 ...

最新文章

  1. Android之线程池深度剖析
  2. 运算符的优先级和实际操作
  3. Android Glide加载图片成圆形
  4. java 二进制 定义_在Java中,我可以用二进制格式定义一个整数常量吗?
  5. mysqldump文件中有SET @@SESSION.SQL_LOG_BIN= 0;解决方法
  6. C++中数字与字符串之间的转换
  7. 什么样的音乐和呼噜声最配?
  8. C#实战之CAD二次开发005:打印pdf
  9. vs项目筛选器显示错乱、只显示部分文件
  10. ASEMI快恢复二极管SFP3006和瞬态二极管一样吗?SFP3006和TVS能否代换
  11. 国家信息系统安全等级保护基本要求——等保一级、二级、三级、四级内容
  12. 企业如何搭建呼叫中心?
  13. 算法精解_C语言 链表_单链表(接口定义+类型实现)
  14. 风控基础指标之决策树的特征选择
  15. 算法导论例题——钢管切割
  16. 最大数和最小数(排序)
  17. WordPress插件冲突的解决办法
  18. 二级管、半波整流、全波整流、桥式整流、全桥
  19. 使用Idea下载源码报Cannot Download Sources
  20. 奥巴马胜利演说英文及中文

热门文章

  1. 实验1动态规划——小明打王者
  2. org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWorldException错误
  3. 解答:什么是卫星链路
  4. flowable会签时, act_run_task 表内有数据但是 assignee字段没值
  5. Cadence allegro移动、旋转、镜像器件
  6. java poi getcelltype_java – 替代已弃用的getCellType
  7. 【从零开始学Skynet】基础篇(九):调试控制台服务
  8. 你有什么样的职业规划?
  9. Python+Vue计算机毕业设计web的个人分享博客的设计与实现1w530(源码+程序+LW+部署)
  10. 天威诚信入选2021中国网络安全产业势能榜专精型厂商