www.pudn.com > charsettools_1.0.2.zip > UIFileConverter.java


/* 

Program UIFileConverter.java *

Author Keiven Ju *

Created 2003-12-19 3:13:23 *

Copyright 1995-1998,2000-2003 by AKuP International, Inc.,

*

Nanjing:

* Unit C, 26F Jianjiang Culture Building, No. 89 Zhongshannan Rd. Nanjing 210005 China

*

26F, Jianjiang Building No.89,Zhongshan South Rd, Nanjing *

Taipei :

*

5F, NO.6, Alley 36, Lane 26, Rueiguang Rd, Neihu District, Taipei City 114, Taiwan *

* All rights reserved.

*

* This software is the confidential and proprietary information

* of AKuP International, Inc. ("Confidential Information"). You

* shall not disclose such Confidential Information and shall use

* it only in accordance with the terms of the license agreement

* you entered into with AKuP.

*

* E-mail keiven.ju@akup.com for more information. */ package com.akup.charset.ui; import javax.swing.JFrame; import com.akup.charset.FileConverter; import javax.swing.UIManager; import javax.swing.LookAndFeel; import javax.swing.*; /** * program UIFileConverter * @author Keiven Ju * @since 1.0.0 * @version 1.0.0 2003-12-19 3:13:23 */ public class UIFileConverter extends JFrame { /** Creates new form UIFrame */ public UIFileConverter() { initComponents(); } // 变量声\uFFFD?- 不进行修改//GEN-BEGIN:variables private javax.swing.JLabel JLblsrc; private javax.swing.JButton jBtnSelectSrc; private javax.swing.JButton jBtnSaveTrg; private javax.swing.JComboBox jCboSetSrc; private javax.swing.JComboBox jCboSetTrg; private javax.swing.JCheckBox jCheckDirAll; private javax.swing.JCheckBox jCheckFileType; private javax.swing.JComboBox jComboFileType; private javax.swing.JLabel jLblcode; private javax.swing.JLabel jLblnouse; private javax.swing.JLabel jLblnouser; private javax.swing.JLabel jLblnousers; private javax.swing.JLabel jLbltrg; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel2; private javax.swing.JPanel jPanel3; private javax.swing.JPanel jPanel4; private javax.swing.JPanel jPanel5; private javax.swing.JPanel jPanel6; private javax.swing.JPanel jPanel7; private javax.swing.JPanel jPnlMain; private javax.swing.JRadioButton jRadioDir; private javax.swing.JRadioButton jRadioFile; private javax.swing.JButton jbtnrun; private javax.swing.JPanel jpnSelect; private javax.swing.JPanel jpnlInputArea; private javax.swing.JTextField jsrcText; private javax.swing.JTextField jtrgText; private javax.swing.ButtonGroup selectGroup; // 变量声明结\uFFFD?/GEN-END:variables /** 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. */ private void initComponents() { //GEN-BEGIN:initComponents selectGroup = new javax.swing.ButtonGroup(); jLblnouser = new javax.swing.JLabel(); jLblnousers = new javax.swing.JLabel(); jPnlMain = new javax.swing.JPanel(); jpnSelect = new javax.swing.JPanel(); jRadioFile = new javax.swing.JRadioButton(); jRadioDir = new javax.swing.JRadioButton(); jCheckDirAll = new javax.swing.JCheckBox(); jbtnrun = new javax.swing.JButton(); jpnlInputArea = new javax.swing.JPanel(); jPanel1 = new javax.swing.JPanel(); JLblsrc = new javax.swing.JLabel(); jLbltrg = new javax.swing.JLabel(); jPanel2 = new javax.swing.JPanel(); jPanel6 = new javax.swing.JPanel(); jsrcText = new javax.swing.JTextField(); jtrgText = new javax.swing.JTextField(); jPanel3 = new javax.swing.JPanel(); jBtnSelectSrc = new javax.swing.JButton(); jBtnSaveTrg = new javax.swing.JButton(); jPanel4 = new javax.swing.JPanel(); jPanel5 = new javax.swing.JPanel(); jLblcode = new javax.swing.JLabel(); jCboSetSrc = new javax.swing.JComboBox(); jLblnouse = new javax.swing.JLabel(); jCboSetTrg = new javax.swing.JComboBox(); jPanel7 = new javax.swing.JPanel(); jCheckFileType = new javax.swing.JCheckBox(); jComboFileType = new javax.swing.JComboBox(); getContentPane().setLayout(new java.awt.GridLayout()); addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent evt) { exitForm(evt); } }); jPnlMain.setLayout(new java.awt.BorderLayout()); jpnSelect.setLayout(new java.awt.GridLayout()); jRadioFile.setFont(new java.awt.Font("Dialog", 0, 12)); jRadioFile.setSelected(true); jRadioFile.setText("\u6587\u4ef6\u8f6c\u6362"); selectGroup.add(jRadioFile); jRadioFile.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jRadioFileActionPerformed(evt); } }); jpnSelect.add(jRadioFile); jRadioDir.setFont(new java.awt.Font("Dialog", 0, 12)); jRadioDir.setText("\u76ee\u5f55\u8f6c\u6362"); selectGroup.add(jRadioDir); jRadioDir.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jRadioDirActionPerformed(evt); } }); jpnSelect.add(jRadioDir); jCheckDirAll.setFont(new java.awt.Font("Dialog", 0, 12)); jCheckDirAll.setText("\u5305\u542b\u5b50\u76ee\u5f55"); jpnSelect.add(jCheckDirAll); jbtnrun.setText("\u6267\u884c"); jbtnrun.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jbtnrunActionPerformed(evt); } }); jpnSelect.add(jbtnrun); jPnlMain.add(jpnSelect, java.awt.BorderLayout.NORTH); jpnlInputArea.setLayout(new java.awt.BorderLayout()); jPanel1.setLayout(new java.awt.GridLayout(2, 2)); JLblsrc.setFont(new java.awt.Font("Dialog", 0, 12)); JLblsrc.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); JLblsrc.setText("\u6e90\u6587\u4ef6:"); jPanel1.add(JLblsrc); jLbltrg.setFont(new java.awt.Font("Dialog", 0, 12)); jLbltrg.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); jLbltrg.setText("\u76ee\u6807\u6587\u4ef6:"); jPanel1.add(jLbltrg); jpnlInputArea.add(jPanel1, java.awt.BorderLayout.WEST); jPanel2.setLayout(new java.awt.BorderLayout()); jPanel6.setLayout(new java.awt.GridLayout(2, 1)); jsrcText.setBackground(new java.awt.Color(255, 255, 255)); jsrcText.setEditable(true); jsrcText.setText("D:\\srcPath"); jPanel6.add(jsrcText); jtrgText.setBackground(new java.awt.Color(255, 255, 255)); jtrgText.setEditable(true); jtrgText.setText("D:\\trgPath"); jPanel6.add(jtrgText); jPanel2.add(jPanel6, java.awt.BorderLayout.CENTER); jpnlInputArea.add(jPanel2, java.awt.BorderLayout.CENTER); jPanel3.setLayout(new java.awt.GridLayout(2, 2)); jBtnSelectSrc.setFont(new java.awt.Font("Dialog", 0, 12)); jBtnSelectSrc.setText("\u6253\u5f00"); jBtnSelectSrc.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jBtnSelectSrcActionPerformed(evt); } }); jPanel3.add(jBtnSelectSrc); jBtnSaveTrg.setFont(new java.awt.Font("Dialog", 0, 12)); jBtnSaveTrg.setText("\u4fdd\u5b58"); jBtnSaveTrg.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jBtnSaveTrgActionPerformed(evt); } }); jPanel3.add(jBtnSaveTrg); jpnlInputArea.add(jPanel3, java.awt.BorderLayout.EAST); jPnlMain.add(jpnlInputArea, java.awt.BorderLayout.CENTER); jPanel4.setLayout(new java.awt.GridLayout(1, 8)); jPanel5.setLayout(new java.awt.GridLayout()); jLblcode.setFont(new java.awt.Font("Dialog", 0, 12)); jLblcode.setText("\u7f16\u7801:"); jPanel5.add(jLblcode); jCboSetSrc.setEditable(true); jCboSetSrc.setFont(new java.awt.Font("Dialog", 0, 12)); jCboSetSrc.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "GB2312", "BIG5", "UTF-8", "UTF-16", "ISO8859-1" })); jCboSetSrc.addMouseWheelListener(new java.awt.event.MouseWheelListener() { public void mouseWheelMoved(java.awt.event.MouseWheelEvent evt) { jCboSetSrcMouseWheelMoved(evt); } }); jPanel5.add(jCboSetSrc); jLblnouse.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLblnouse.setText(" >>"); jPanel5.add(jLblnouse); jCboSetTrg.setEditable(true); jCboSetTrg.setFont(new java.awt.Font("Dialog", 0, 12)); jCboSetTrg.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "GB2312", "BIG5", "UTF-8", "UTF-16", "ISO8859-1" })); jCboSetTrg.setSelectedIndex(1); jPanel5.add(jCboSetTrg); jPanel4.add(jPanel5); jPanel7.setLayout(new java.awt.GridLayout()); jCheckFileType.setFont(new java.awt.Font("Dialog", 0, 12)); jCheckFileType.setText("\u6587\u4ef6\u7c7b\u522b"); jCheckFileType.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); jCheckFileType.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT); jPanel7.add(jCheckFileType); jComboFileType.setBackground(new java.awt.Color(255, 255, 255)); jComboFileType.setFont(new java.awt.Font("Dialog", 0, 12)); jComboFileType.setMaximumRowCount(6); jComboFileType.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "*.*", ".txt", ".java", ".ini", ".jsp", ".htm", ".html", ".xml", ".log", ".csv", ".sql"})); jComboFileType.setSelectedIndex(0); jComboFileType.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jComboFileTypeActionPerformed(evt); } }); jPanel7.add(jComboFileType); jPanel4.add(jPanel7); jPnlMain.add(jPanel4, java.awt.BorderLayout.SOUTH); getContentPane().add(jPnlMain); pack(); clearInput(); } //GEN-END:initComponents private void jCboSetSrcMouseWheelMoved(java.awt.event.MouseWheelEvent evt) { //GEN-FIRST:event_jCboSetSrcMouseWheelMoved } /** Exit the Application */ private void exitForm(java.awt.event.WindowEvent evt) { //GEN-FIRST:event_exitForm System.exit(0); } private void clearInput() { this.jsrcText.setText(""); this.jtrgText.setText(""); this.jsrcText.repaint(); this.jtrgText.repaint(); } private void jBtnSaveTrgActionPerformed(java.awt.event.ActionEvent evt) { //GEN-FIRST:event_jButton2ActionPerformed String str; if (this.isDerectory) str = UIUtilDialog.selectDIRECTORIES(true, this); else { str = UIUtilDialog.selectFile(true, getSelectType(), this); } if (str.equals("") && !this.jsrcText.getText().trim().equals("")) return; else this.jtrgText.setText(str); } private void jBtnSelectSrcActionPerformed(java.awt.event.ActionEvent evt) { //GEN-FIRST:event_jBtnSelectSrcActionPerformed String str; if (this.isDerectory) str = UIUtilDialog.selectDIRECTORIES(false, this); else { str = UIUtilDialog.selectFile(false, getSelectType(), this); } if (str.equals("") && !this.jsrcText.getText().trim().equals("")) return; else this.jsrcText.setText(str); } private void jComboFileTypeActionPerformed(java.awt.event.ActionEvent evt) { //GEN-FIRST:event_jComboFileTypeActionPerformed if (this.isDerectory) return; String type = getSelectType(); if (type == "") { System.out.println("getSelectFileType:*.*"); return; } else { System.out.println("getSelectFileType:" + type); } String str = this.jsrcText.getText(); String trg = this.jtrgText.getText(); if (!str.equals("") && !str.endsWith(type)) { this.jsrcText.setText(""); } if (!trg.equals("") && !trg.endsWith(type)) { this.jtrgText.setText(""); } } private void jRadioDirActionPerformed(java.awt.event.ActionEvent evt) { //GEN-FIRST:event_jRadioDirActionPerformed this.isDerectory = true; clearInput(); } private boolean isDerectory = false; private void jRadioFileActionPerformed(java.awt.event.ActionEvent evt) { //GEN-FIRST:event_jRadioFileActionPerformed this.isDerectory = false; clearInput(); } /** * getSelectType, * @return String * @since 1.0.0 2003-12-24 */ private String getSelectType() { String type = (String) this.jComboFileType.getSelectedItem(); if ((type == null) || (type.equals("*.*"))) { return ""; } //System.out.println("getSelectFileType:" + type); return type.trim(); } private String getSrcCode() { String str = (String) this.jCboSetSrc.getSelectedItem(); System.out.println("source charset:" + str); if ("".equals(str.trim())) return ""; else { return str.trim(); } } private String getTrgCode() { String str = (String) this.jCboSetTrg.getSelectedItem(); System.out.println("targe charset:" + str); if ("".equals(str.trim())) return ""; else { return str.trim(); } } private void jbtnrunActionPerformed(java.awt.event.ActionEvent evt) { String srcpath, trgpath, srcset, trgset; srcpath = this.jsrcText.getText(); trgpath = this.jtrgText.getText(); srcset = getSrcCode().trim(); trgset = getTrgCode().trim(); if (srcpath.equals("") || trgpath.equals("")) { new UIUtilDialog().messageBoxOKCANCEL("\u8bf7\u8f93\u5165\u6b63\u786e\u7684\u6587\u4ef6\u8def\u5f84.\u5982:D:\\path"); return; } if (srcpath.equalsIgnoreCase(trgpath)) { new UIUtilDialog().messageBoxOKCANCEL("\u8bf7\u8f93\u5165\u6b63\u786e\u7684\u6587\u4ef6\u8def\u5f84.\u5982:D:\\path"); return; } if (srcset.equals("") || trgset.equals("")) { new UIUtilDialog().messageBoxOKCANCEL("\u6e90\u548c\u76ee\u7684\u5730\u540c\u540d\u9519\u8bef!"); return; } long start = System.currentTimeMillis(); try { if (this.isDerectory) { System.out.println("convert Directory: " + srcpath + " " + srcset + " " + trgpath + " " + trgset + " *" + getSelectType() + " " + this.jCheckDirAll.isSelected()); new FileConverter().convertDirectory(srcpath, srcset, trgpath, trgset, getSelectType(), this.jCheckDirAll.isSelected()); } else { System.out.println("convert File: " + srcpath + " " + srcset + " " + trgpath + " " + trgset); new FileConverter().convertFile(srcpath, srcset, trgpath, trgset); } double s = ((double) (System.currentTimeMillis() - start) / 1000); System.out.println("Converter elapsed: " + s + "s"); new UIUtilDialog().messageBox("OK! elapsed: " + s + "s"); } catch (Exception e) { new UIUtilDialog().messageBox(e.getMessage()); e.printStackTrace(); } } /** * @param args the command line arguments */ public static void main(String args[]) { System.out.println("(C) Copyright 1997-2003 Softwise International Inc. All rights reserved."); System.out.println("Program: Charset Converter Tool v1.0.2e "); System.out.println("Author : Keiven Ju (keiven_ju@hotmail.com)"); //System.out.println("Date : 2003-12-24"); System.out.println(); try { UIManager.setLookAndFeel(UIManager. getSystemLookAndFeelClassName()); } catch (UnsupportedLookAndFeelException ex) { } catch (IllegalAccessException ex) { } catch (InstantiationException ex) { } catch (ClassNotFoundException ex) { } UIFileConverter ui = new UIFileConverter(); ui.setTitle("Charset Converter Tool v1.0e MSN: Keiven_ju@hotmail.com"); ui.setBounds(250, 200, 500, 150); ui.show(); new UIUtilDialog().messageBox("MSN: keiven_ju@hotmail.com "); } }