import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.sql.Connection; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Statement; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; import javax.swing.SwingConstants; import com.ibm.as400.access.AS400; import com.ibm.as400.access.AS400JDBCDataSource; public class NerineUtil01 extends JFrame { private String schema = null; private String table = null; private String url = null; private String jdbcUrl = "jdbc:as400://"; private JFileChooser chooser = new JFileChooser(); private JDialog dialog; private javax.swing.JPanel jContentPane = null; private javax.swing.JMenuBar jJMenuBar = null; private javax.swing.JMenu fileMenu = null; private javax.swing.JMenu editMenu = null; private javax.swing.JMenu helpMenu = null; private javax.swing.JMenuItem exitMenuItem = null; private javax.swing.JMenuItem aboutMenuItem = null; private javax.swing.JMenuItem cutMenuItem = null; private javax.swing.JMenuItem copyMenuItem = null; private javax.swing.JMenuItem pasteMenuItem = null; private javax.swing.JMenuItem saveMenuItem = null; private JLabel jLabelSchema = null; private JLabel jLabelTable = null; private JTextField jTextTable = null; private JLabel jLabelSaveUrl = null; private JTextField jTextUrl = null; private JButton jButton = null; private JLabel jLabelMsg = null; private JTextField jTextSchema = null; private JButton jButton1 = null; /** * This method initializes jTextField2 * * @return javax.swing.JTextField */ private JTextField getJTextTable() { if (jTextTable == null) { jTextTable = new JTextField(); jTextTable.setBounds(217, 16, 70, 20); } return jTextTable; } /** * This method initializes jTextField3 * * @return javax.swing.JTextField */ private JTextField getJTextUrl() { if (jTextUrl == null) { jTextUrl = new JTextField(); jTextUrl.setBounds(90, 41, 247, 24); } return jTextUrl; } /** * This method initializes jButton * * @return javax.swing.JButton */ private JButton getJButton() { if (jButton == null) { jButton = new JButton(); jButton.setBounds(20, 69, 307, 22); jButton.setText("CREATE CSV FILE"); jButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { createCsvFile(); } }); } return jButton; } /** * This method initializes jTextField4 * * @return javax.swing.JTextField */ private JTextField getJTextSchema() { if (jTextSchema == null) { jTextSchema = new JTextField(); jTextSchema.setBounds(90, 16, 70, 20); } return jTextSchema; } /** * This method initializes jButton1 * * @return javax.swing.JButton */ private JButton getJButton1() { if (jButton1 == null) { jButton1 = new JButton(); jButton1.setBounds(343, 41, 40, 22); jButton1.setText("..."); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { selectFile(); } }); } return jButton1; } public static void main(String[] args) { NerineUtil01 application = new NerineUtil01(); application.show(); } /** * This is the default constructor */ public NerineUtil01() { super(); initialize(); } /** * This method initializes this * * @return void */ private void initialize() { this.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE); this.setJMenuBar(getJJMenuBar()); this.setSize(404, 178); this.setContentPane(getJContentPane()); this.setTitle("i5¤«¤éCSV¥Õ¥¡¥¤¥ëºîÀ®"); } /** * This method initializes jContentPane * * @return javax.swing.JPanel */ private javax.swing.JPanel getJContentPane() { if (jContentPane == null) { jLabelMsg = new JLabel(); jLabelSaveUrl = new JLabel(); jLabelTable = new JLabel(); jLabelSchema = new JLabel(); jContentPane = new javax.swing.JPanel(); jContentPane.setLayout(null); jLabelSchema.setBounds(15, 15, 70, 20); jLabelSchema.setText("Schema:"); jLabelTable.setBounds(170, 15, 40, 20); jLabelTable.setText("Table:"); jLabelSaveUrl.setBounds(15, 41, 70, 21); jLabelSaveUrl.setText("Save URL:"); jLabelMsg.setBounds(11, 98, 324, 20); jLabelMsg.setText("MSG:"); jContentPane.add(jLabelSchema, null); jContentPane.add(jLabelTable, null); jContentPane.add(getJTextTable(), null); jContentPane.add(jLabelSaveUrl, null); jContentPane.add(getJTextUrl(), null); jContentPane.add(getJButton(), null); jContentPane.add(jLabelMsg, null); jContentPane.add(getJTextSchema(), null); jContentPane.add(getJButton1(), null); } return jContentPane; } /** * This method initializes jJMenuBar * * @return javax.swing.JMenuBar */ private javax.swing.JMenuBar getJJMenuBar() { if (jJMenuBar == null) { jJMenuBar = new javax.swing.JMenuBar(); jJMenuBar.add(getFileMenu()); jJMenuBar.add(getEditMenu()); jJMenuBar.add(getHelpMenu()); } return jJMenuBar; } /** * This method initializes jMenu * * @return javax.swing.JMenu */ private javax.swing.JMenu getFileMenu() { if (fileMenu == null) { fileMenu = new javax.swing.JMenu(); fileMenu.setText("File"); fileMenu.add(getSaveMenuItem()); fileMenu.add(getExitMenuItem()); } return fileMenu; } /** * This method initializes jMenu * * @return javax.swing.JMenu */ private javax.swing.JMenu getEditMenu() { if (editMenu == null) { editMenu = new javax.swing.JMenu(); editMenu.setText("Edit"); editMenu.add(getCutMenuItem()); editMenu.add(getCopyMenuItem()); editMenu.add(getPasteMenuItem()); } return editMenu; } /** * This method initializes jMenu * * @return javax.swing.JMenu */ private javax.swing.JMenu getHelpMenu() { if (helpMenu == null) { helpMenu = new javax.swing.JMenu(); helpMenu.setText("Help"); helpMenu.add(getAboutMenuItem()); } return helpMenu; } /** * This method initializes jMenuItem * * @return javax.swing.JMenuItem */ private javax.swing.JMenuItem getExitMenuItem() { if (exitMenuItem == null) { exitMenuItem = new javax.swing.JMenuItem(); exitMenuItem.setText("Exit"); exitMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { System.exit(0); } }); } return exitMenuItem; } /** * This method initializes jMenuItem * * @return javax.swing.JMenuItem */ private javax.swing.JMenuItem getAboutMenuItem() { if (aboutMenuItem == null) { aboutMenuItem = new javax.swing.JMenuItem(); aboutMenuItem.setText("About"); aboutMenuItem .addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { new javax.swing.JDialog(NerineUtil01.this, "About", true).show(); } }); } return aboutMenuItem; } /** * This method initializes jMenuItem * * @return javax.swing.JMenuItem */ private javax.swing.JMenuItem getCutMenuItem() { if (cutMenuItem == null) { cutMenuItem = new javax.swing.JMenuItem(); cutMenuItem.setText("Cut"); cutMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_X, java.awt.Event.CTRL_MASK, true)); } return cutMenuItem; } /** * This method initializes jMenuItem * * @return javax.swing.JMenuItem */ private javax.swing.JMenuItem getCopyMenuItem() { if (copyMenuItem == null) { copyMenuItem = new javax.swing.JMenuItem(); copyMenuItem.setText("Copy"); copyMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_C, java.awt.Event.CTRL_MASK, true)); } return copyMenuItem; } /** * This method initializes jMenuItem * * @return javax.swing.JMenuItem */ private javax.swing.JMenuItem getPasteMenuItem() { if (pasteMenuItem == null) { pasteMenuItem = new javax.swing.JMenuItem(); pasteMenuItem.setText("Paste"); pasteMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_V, java.awt.Event.CTRL_MASK, true)); } return pasteMenuItem; } /** * This method initializes jMenuItem * * @return javax.swing.JMenuItem */ private javax.swing.JMenuItem getSaveMenuItem() { if (saveMenuItem == null) { saveMenuItem = new javax.swing.JMenuItem(); saveMenuItem.setText("Save"); saveMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_S, java.awt.Event.CTRL_MASK, true)); } return saveMenuItem; } private void selectFile() { int returnVal = chooser.showSaveDialog(this); try { if (returnVal == JFileChooser.APPROVE_OPTION) { File file = chooser.getSelectedFile(); url = file.getPath(); jTextUrl.setText(url); } } catch (Exception ex) { ex.printStackTrace(); } } private void createCsvFile() { schema = jTextSchema.getText(); table = jTextTable.getText(); url = jTextUrl.getText(); // ÆþÎÏ¥Á¥§¥Ã¥¯ if (schema.equals("") || table.equals("") || url.equals("")) { // System.out.println("system:"+system); jLabelMsg.setText("MSG:ÆþÎÏ¥¨¥é¡¼¤¬¤¢¤ê¤Þ¤¹¡£³Îǧ¤·¤Æ¤¯¤À¤µ¤¤"); return; } jLabelMsg.setText("loadÃæ..."); try { // JDBC¥É¥é¥¤¥Ð¤Î¥í¡¼¥É AS400 as400 = new AS400(); AS400JDBCDataSource ds = new AS400JDBCDataSource(as400); Connection con = ds.getConnection(); // SQL¥³¥ó¥Æ¥Ê¤ÎºîÀ® Statement stmt = con.createStatement(); // SQLʸ¤Î¼Â¹Ô String sql = "select * from " + schema + "." + table; // System.out.println(sql); ResultSet rs = stmt.executeQuery(sql); // ResultSet¤«¤éResultSetMetaData(¥Æ¡¼¥Ö¥ë¤Î¥«¥é¥à¤Î̾Á°¡¢·¿¡¢¥µ¥¤¥º¾ðÊó¤ò¼èÆÀ ResultSetMetaData rsmeta = rs.getMetaData(); int columnCount = rsmeta.getColumnCount(); String[] columnNames = new String[columnCount]; String[] columnTypes = new String[columnCount]; for (int i = 0; i < columnCount; i++) { columnNames[i] = rsmeta.getColumnName(i + 1); columnTypes[i] = rsmeta.getColumnTypeName(i + 1); } StringBuffer str = new StringBuffer(4096); FileWriter fw = new FileWriter(url); BufferedWriter bw = new BufferedWriter(fw); // ¸¡º÷·ë²Ì¤Î¼è¤ê½Ð¤· while (rs.next()) { str.delete(0, 4095); for (int i = 0; i < columnCount; i++) { if (rs.getString(i + 1) != null) { if (columnTypes[i].equals("DATE")) { str.append(rs.getDate(i + 1)); } else { str.append(rs.getString(i + 1).trim()); } } if (i != columnCount - 1) str.append(","); } str.append("\n"); bw.write(str.toString()); // System.out.println(str.toString()); } // ¸¡º÷·ë²Ì¤Î¥¯¥í¡¼¥º rs.close(); // SQL¥³¥ó¥Æ¥Ê¤Î¥¯¥í¡¼¥º stmt.close(); // ¥Õ¥¡¥¤¥ë¤Î¥¯¥í¡¼¥º bw.flush(); bw.close(); fw.close(); } catch (Exception ex) { ex.printStackTrace(); // ¥¨¥é¡¼¤Î¥À¥¤¥¢¥í¥°¤òɽ¼¨ JLabel label = new JLabel("¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿", SwingConstants.CENTER); dialog = new JDialog(this, "¥¨¥é¡¼", true); dialog.getContentPane().add(label); dialog.setSize(200, 80); dialog.show(); } finally { jLabelMsg.setText("MSG:CSV¥Õ¥¡¥¤¥ë¤ÎºîÀ®¤¬½ªÎ»¤·¤Þ¤·¤¿"); } } } // @jve:decl-index=0:visual-constraint="10,10"
¤³¤Î¥Ú¡¼¥¸¤Ø¤Î¥³¥á¥ó¥È
hQJcch Muchos Gracias for your blog.Really looking forward to read more.
gucmyM <a href="http://kziblciacogq.com/">kziblciacogq</a>, [url=http://plqjodveqcec.com/]plqjodveqcec[/url], [link=http://yhrjattwynwa.com/]yhrjattwynwa[/link], http://zbwnrrmglplx.com/
qzuWQo <a href="http://tzqmaeojbjtp.com/">tzqmaeojbjtp</a>, [url=http://fzjwtcethzka.com/]fzjwtcethzka[/url], [link=http://vgzkbtfdyxrw.com/]vgzkbtfdyxrw[/link], http://qkqhvplufukw.com/